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

Method reset

lite/src/mge/tensor_impl.cpp:300–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

298}
299
300void TensorImplDft::reset(void* prepared_data) {
301 auto raw_ptr = static_cast<mgb::dt_byte*>(prepared_data);
302 auto raw_storage = std::shared_ptr<mgb::dt_byte>(raw_ptr, [](void*) {});
303 bool host = is_host();
304 if (host) {
305 auto cn = m_host_tensor->comp_node();
306 auto mge_layout = m_host_tensor->layout();
307 size_t size = mge_layout.span().dist_byte();
308 mgb::HostTensorStorage storage;
309 storage.reset(cn, size, raw_storage);
310 if (m_record_reset) {
311 m_host_tensor->only_reset_raw_storage(storage);
312 } else {
313 m_host_tensor->reset(storage, mge_layout);
314 }
315 } else {
316 auto cn = m_dev_tensor->comp_node();
317 auto mge_layout = m_dev_tensor->layout();
318 size_t size = mge_layout.span().dist_byte();
319 mgb::DeviceTensorStorage storage;
320 storage.reset(cn, size, raw_storage);
321 if (m_record_reset) {
322 m_dev_tensor->only_reset_raw_storage(storage);
323 } else {
324 m_dev_tensor->reset(storage, mge_layout);
325 }
326 }
327 if (m_reset_callback) {
328 m_reset_callback(this);
329 }
330}
331
332void TensorImplDft::reset(void* prepared_data, const Layout& layout) {
333 set_layout(layout);

Callers 4

alloc_staticMethod · 0.45
forwardMethod · 0.45

Calls 5

dist_byteMethod · 0.80
spanMethod · 0.80
comp_nodeMethod · 0.45
layoutMethod · 0.45

Tested by

no test coverage detected