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

Method infer_output_comp_node

src/opr/impl/custom_opnode.cpp:10–29  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8MGB_DYN_TYPE_OBJ_FINAL_IMPL(CustomOpNode);
9
10void CustomOpNode::infer_output_comp_node(void) {
11 SmallVector<CompNode> input_comp_nodes(input_num());
12 for (size_t i = 0; i < input_num(); ++i) {
13 input_comp_nodes[i] = input(i)->comp_node();
14 }
15
16 SmallVector<CompNode> output_comp_nodes =
17 custom::to_builtin<CompNode, custom::Device>(m_op->infer_output_device(
18 custom::to_custom<CompNode, custom::Device>(input_comp_nodes),
19 m_param));
20
21 for (size_t i = 0; i < output_num(); ++i) {
22 mgb_assert(
23 output_comp_nodes[i] == output_comp_nodes[0],
24 "only single comp node operator is supported");
25 output(i)->comp_node(output_comp_nodes[i]);
26 }
27
28 m_comp_node = output_comp_nodes[0];
29}
30
31void CustomOpNode::infer_output_dtype(void) {
32 SmallVector<DType> input_dtypes(input_num());

Callers

nothing calls this directly

Calls 2

infer_output_deviceMethod · 0.80
comp_nodeMethod · 0.45

Tested by

no test coverage detected