Initial commit

Co-authored-by: Zhuohan Li <zhuohan@openai.com>
Co-authored-by: Maratyszcza <marat@openai.com>
Co-authored-by: Volodymyr Kyrylov <vol@wilab.org.ua>
This commit is contained in:
Dominik Kundel
2025-08-05 08:19:49 -07:00
commit 243a1b0276
124 changed files with 20405 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
#include <Python.h>
#include "module.h"
static PyMethodDef module_methods[] = {
{NULL, NULL, 0, NULL}
};
static PyModuleDef metal_module = {
PyModuleDef_HEAD_INIT,
"_metal",
"Local GPT-OSS inference",
-1,
module_methods
};
PyMODINIT_FUNC PyInit__metal(void) {
PyObject* module = NULL;
PyObject* model_type = NULL;
PyObject* tokenizer_type = NULL;
PyObject* context_type = NULL;
if (PyType_Ready(&PyGPTOSSModel_Type) < 0) {
goto error;
}
model_type = (PyObject*) &PyGPTOSSModel_Type;
Py_INCREF(model_type);
if (PyType_Ready(&PyGPTOSSTokenizer_Type) < 0) {
goto error;
}
tokenizer_type = (PyObject*) &PyGPTOSSTokenizer_Type;
Py_INCREF(tokenizer_type);
if (PyType_Ready(&PyGPTOSSContext_Type) < 0) {
goto error;
}
context_type = (PyObject*) &PyGPTOSSContext_Type;
Py_INCREF(context_type);
module = PyModule_Create(&metal_module);
if (module == NULL) {
goto error;
}
if (PyModule_AddObject(module, "Model", model_type) < 0) {
goto error;
}
if (PyModule_AddObject(module, "Tokenizer", tokenizer_type) < 0) {
goto error;
}
if (PyModule_AddObject(module, "Context", context_type) < 0) {
goto error;
}
return module;
error:
Py_XDECREF(context_type);
Py_XDECREF(tokenizer_type);
Py_XDECREF(model_type);
Py_XDECREF(module);
return NULL;
}