MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / PYBIND11_MODULE

Function PYBIND11_MODULE

imperative/python/src/module.cpp:27–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25}
26
27PYBIND11_MODULE(MODULE_NAME, m) {
28 // initialize numpy
29 if ([]() {
30 import_array1(1);
31 return 0;
32 }()) {
33 throw py::error_already_set();
34 }
35
36 megdnn::inplace_cpu_handle();
37
38 py::module::import("sys").attr("modules")[m.attr("__name__")] = m;
39
40 m.attr("__package__") = m.attr("__name__");
41 m.attr("__builtins__") = py::module::import("builtins");
42
43 auto atexit = py::module::import("atexit");
44 atexit.attr("register")(py::cpp_function([]() {
45 py::gil_scoped_release _;
46 py_task_q.wait_all_task_finish();
47 }));
48
49 auto common = submodule(m, "common");
50 auto utils = submodule(m, "utils");
51 auto imperative = submodule(m, "imperative");
52 auto graph = submodule(m, "graph");
53 auto ops = submodule(m, "ops");
54
55 init_common(common);
56 init_utils(utils);
57 init_imperative_rt(imperative);
58 init_graph_rt(graph);
59 init_ops(ops);
60
61 py::exec(
62 R"(
63 from .common import *
64 from .utils import *
65 from .imperative import *
66 from .graph import *
67 from .ops import OpDef
68 )",
69 py::getattr(m, "__dict__"));
70
71 init_tensor(submodule(m, "core2"));
72}

Callers

nothing calls this directly

Calls 10

submoduleFunction · 0.85
init_commonFunction · 0.85
init_utilsFunction · 0.85
init_imperative_rtFunction · 0.85
init_graph_rtFunction · 0.85
init_opsFunction · 0.85
init_tensorFunction · 0.85
attrMethod · 0.80
execFunction · 0.50
wait_all_task_finishMethod · 0.45

Tested by

no test coverage detected