MCPcopy Create free account
hub / github.com/KomputeProject/kompute / PYBIND11_MODULE

Function PYBIND11_MODULE

python/src/main.cpp:52–567  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52PYBIND11_MODULE(kp, m)
53{
54
55 // The logging modules are used in the Kompute.hpp file
56 py::module_ logging = py::module_::import("logging");
57 py::object kp_logger = logging.attr("getLogger")("kp");
58 kp_trace = kp_logger.attr(
59 "debug"); // Same as for debug since python has no trace logging level
60 kp_debug = kp_logger.attr("debug");
61 kp_info = kp_logger.attr("info");
62 kp_warning = kp_logger.attr("warning");
63 kp_error = kp_logger.attr("error");
64 logging.attr("basicConfig")();
65
66 py::module_ np = py::module_::import("numpy");
67
68 py::enum_<kp::Tensor::TensorTypes>(m, "TensorTypes")
69 .value("device",
70 kp::Tensor::TensorTypes::eDevice,
71 DOC(kp, Tensor, TensorTypes, eDevice))
72 .value("host",
73 kp::Tensor::TensorTypes::eHost,
74 DOC(kp, Tensor, TensorTypes, eHost))
75 .value("storage",
76 kp::Tensor::TensorTypes::eStorage,
77 DOC(kp, Tensor, TensorTypes, eStorage))
78 .export_values();
79
80 py::class_<kp::OpBase, std::shared_ptr<kp::OpBase>>(
81 m, "OpBase", DOC(kp, OpBase));
82
83 py::class_<kp::OpTensorSyncDevice,
84 kp::OpBase,
85 std::shared_ptr<kp::OpTensorSyncDevice>>(
86 m, "OpTensorSyncDevice", DOC(kp, OpTensorSyncDevice))
87 .def(py::init<const std::vector<std::shared_ptr<kp::Tensor>>&>(),
88 DOC(kp, OpTensorSyncDevice, OpTensorSyncDevice));
89
90 py::class_<kp::OpTensorSyncLocal,
91 kp::OpBase,
92 std::shared_ptr<kp::OpTensorSyncLocal>>(
93 m, "OpTensorSyncLocal", DOC(kp, OpTensorSyncLocal))
94 .def(py::init<const std::vector<std::shared_ptr<kp::Tensor>>&>(),
95 DOC(kp, OpTensorSyncLocal, OpTensorSyncLocal));
96
97 py::class_<kp::OpTensorCopy, kp::OpBase, std::shared_ptr<kp::OpTensorCopy>>(
98 m, "OpTensorCopy", DOC(kp, OpTensorCopy))
99 .def(py::init<const std::vector<std::shared_ptr<kp::Tensor>>&>(),
100 DOC(kp, OpTensorCopy, OpTensorCopy));
101
102 py::class_<kp::OpAlgoDispatch,
103 kp::OpBase,
104 std::shared_ptr<kp::OpAlgoDispatch>>(
105 m, "OpAlgoDispatch", DOC(kp, OpAlgoDispatch))
106 .def(py::init<const std::shared_ptr<kp::Algorithm>&,
107 const std::vector<float>&>(),
108 DOC(kp, OpAlgoDispatch, OpAlgoDispatch),
109 py::arg("algorithm"),

Callers

nothing calls this directly

Calls 11

vkPropertiesToDictFunction · 0.85
dataTypeMethod · 0.80
sizeMethod · 0.80
evalAwaitMethod · 0.80
tensorMethod · 0.80
algorithmMethod · 0.80
listDevicesMethod · 0.80
getDevicePropertiesMethod · 0.80
recordMethod · 0.45
evalMethod · 0.45
evalAsyncMethod · 0.45

Tested by

no test coverage detected