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

Method shallow_copy

src/opr/impl/loop/grad.cpp:270–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

268}
269
270cg::OperatorNodeBase* LoopGrad::AssignorGradOpr::shallow_copy(
271 const VarNodeArray& inputs, const OperatorNodeConfig& config) const {
272 mgb_assert(m_assignee_grads_init);
273
274 SymbolVar assignor_grad, assignor;
275 if (inputs.size() == 1) {
276 assignor = inputs[0];
277 } else {
278 mgb_assert(inputs.size() == 2);
279 assignor_grad = inputs[0];
280 assignor = inputs[1];
281 }
282 auto&& ret = make(assignor_grad, assignor, m_state, config)
283 .node()
284 ->owner_opr()
285 ->cast_final_safe<AssignorGradOpr>();
286 ret.m_assignee_grads_init = true;
287 return &ret;
288}
289
290void LoopGrad::AssignorGradOpr::add_extra_compile_output_spec(
291 ComputingGraph::OutputSpec& spec) {

Callers 2

wrap_shallow_copyMethod · 0.45

Calls 7

get_grad_varMethod · 0.80
makeFunction · 0.70
sizeMethod · 0.45
owner_oprMethod · 0.45
nodeMethod · 0.45
reserveMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected