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

Function device2obj

imperative/python/src/tensor_utils.cpp:286–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284}
285
286py::object device2obj(py::handle device, bool mapping = false) {
287 if (device.ptr() == Py_None) {
288 return py::cast(CompNode::load(get_default_device()));
289 } else if (py::isinstance<py::str>(device)) {
290 if (mapping) {
291 py::object dmap = getattr(
292 py::reinterpret_borrow<py::object>((PyObject*)py_tensor_type),
293 "dmap_callback");
294 if (dmap.ptr() != Py_None) {
295 return device2obj(dmap(device), false);
296 }
297 }
298 return py::cast(CompNode::load(device.cast<std::string>()));
299
300 } else if (py::isinstance<CompNode>(device)) {
301 return py::reinterpret_borrow<py::object>(device);
302 } else {
303 return getattr(device, "_cn");
304 }
305}
306
307py::object _Const(py::handle value, py::handle dtype, py::handle device) {
308 py::object val = py::reinterpret_borrow<py::object>(value);

Callers 3

_ConstFunction · 0.85
get_res_by_refhdlFunction · 0.85
_astensor1d_cppFunction · 0.85

Calls 5

castFunction · 0.85
dmapClass · 0.85
loadFunction · 0.70
get_default_deviceFunction · 0.70
ptrMethod · 0.45

Tested by

no test coverage detected