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

Method enable

src/core/impl/graph/cg_impl_seq.cpp:674–692  ·  view source on GitHub ↗

========================== MegDNNDtorCheck ========================== */

Source from the content-addressed store, hash-verified

672
673/* ========================== MegDNNDtorCheck ========================== */
674void ComputingGraphImpl::MegDNNDtorCheck::enable() {
675 mgb_assert(!m_enabled);
676 m_enabled = true;
677 auto cb_dnn = [](megdnn::OperatorBase* opr) {
678 mgb_log_error("unexpected destruction of dnn opr %p", opr);
679 mgb_trap();
680 };
681 auto cb_mem = [](size_t alloc_size, bool, void* ptr) {
682 if (!alloc_size) {
683 mgb_log_error("unexpected mem release %p", ptr);
684 mgb_trap();
685 }
686 };
687 m_orig_dnn_cb = cb_dnn;
688 m_orig_mem_cb = cb_mem;
689 m_handle->set_opr_destruct_callback(m_orig_dnn_cb);
690 m_env->mem_event_handler(m_orig_mem_cb);
691 mgb_assert(!m_orig_dnn_cb && !m_orig_mem_cb);
692}
693
694ComputingGraphImpl::MegDNNDtorCheck::~MegDNNDtorCheck() {
695 if (m_enabled) {

Callers 3

TESTFunction · 0.45
do_executeMethod · 0.45
cleanupMethod · 0.45

Calls 2

mem_event_handlerMethod · 0.80

Tested by 1

TESTFunction · 0.36