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

Method get_mem_allocation_info

src/core/impl/graph/cg_impl.cpp:887–931  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

885}
886
887std::string ComputingGraphImpl::get_mem_allocation_info() const {
888#if MGB_ENABLE_JSON
889 auto make_var_json = [](VarNode* single_var) {
890 auto&& cur_mem_plan = single_var->mem_plan();
891 if (cur_mem_plan.valid())
892 return json::Object::make(
893 {{"name", json::String::make(single_var->name())},
894 {"memory", json::Number::make(cur_mem_plan.chunk().size())},
895 {"dev_ptr", json::NumberInt::make(reinterpret_cast<size_t>(
896 single_var->dev_tensor().raw_ptr()))}});
897 else
898 return json::Object::make(
899 {{"name", json::String::make(single_var->name())},
900 {"memory", json::Null::make()},
901 {"dev_ptr", json::Null::make()}});
902 };
903
904 auto objlist = json::Array::make();
905
906 for (auto& opri : m_opr_refkeeper) {
907 auto cur_opr = opri.get();
908
909 auto objptr = json::Object::make();
910 auto&& objbody = *objptr;
911
912 objbody["name"] = json::String::make(cur_opr->name());
913
914 auto jvars = json::Array::make();
915 for (auto& outputi : cur_opr->output()) {
916 jvars->add(make_var_json(outputi));
917 }
918 objbody["output"] = jvars;
919
920 auto obj = json::Object::make({{std::to_string(cur_opr->id()), objptr}});
921
922 objlist->add(obj);
923 }
924
925 return objlist->to_string();
926#endif // MGB_ENABLE_JSON
927 mgb_log_warn(
928 "target is not configured with JSON BUILD on,"
929 "get_mem_allocation_info returns null string");
930 return std::string();
931}
932
933// vim: syntax=cpp.doxygen foldmethod=marker foldmarker=f{{{,f}}}

Callers

nothing calls this directly

Calls 12

to_stringFunction · 0.85
makeFunction · 0.70
validMethod · 0.45
nameMethod · 0.45
sizeMethod · 0.45
raw_ptrMethod · 0.45
dev_tensorMethod · 0.45
getMethod · 0.45
outputMethod · 0.45
addMethod · 0.45
idMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected