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

Function apply_on_var_node

imperative/src/impl/ops/opr_attr.cpp:106–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106VarNodeArray apply_on_var_node(const OpDef& def, const VarNodeArray& inputs) {
107 auto&& attr = def.cast_final_safe<OprAttr>();
108 auto config = attr.config;
109 config.name(attr.make_name());
110 mgb_assert(!inputs.empty());
111 auto registry = serialization::OprRegistry::find_by_name(attr.type);
112 mgb_assert(registry, "operator %s not found", attr.type.c_str());
113 OprParamsLoadContext ctx{attr.param, inputs[0]->owner_graph()};
114 auto opr_with_accessor = registry->loader(ctx, inputs, config);
115 auto&& opr = opr_with_accessor.opr();
116 if (get_type2policy().find(opr->dyn_typeinfo()) != get_type2policy().end()) {
117 get_type2policy().at(opr->dyn_typeinfo()).second(opr, attr.policy);
118 }
119 return opr_with_accessor.usable_output();
120}
121
122std::shared_ptr<OpDef> make_from_op_node(cg::OperatorNodeBase* opr) {
123 OprParamsDumpContext ctx;

Callers

nothing calls this directly

Calls 9

nameMethod · 0.45
make_nameMethod · 0.45
emptyMethod · 0.45
owner_graphMethod · 0.45
oprMethod · 0.45
findMethod · 0.45
endMethod · 0.45
atMethod · 0.45
usable_outputMethod · 0.45

Tested by

no test coverage detected