MCPcopy Create free account
hub / github.com/pytorch/executorch / handle_call_function

Method handle_call_function

exir/serde/serialize.py:87–125  ·  view source on GitHub ↗
(self, node: torch.fx.Node)

Source from the content-addressed store, hash-verified

85 return super().serialize_operator(target)
86
87 def handle_call_function(self, node: torch.fx.Node) -> None:
88 assert node.op == "call_function"
89
90 if node.target is memory.alloc:
91 ex_node = schema.Node(
92 name=node.name,
93 target="memory.alloc",
94 inputs=self.serialize_alloc_inputs(node.args),
95 outputs=self.serialize_arbitrary_outputs(node),
96 metadata=self.serialize_metadata(node),
97 )
98 self.graph_state.nodes.append(ex_node)
99 return
100 elif isinstance(node.target, EdgeOpOverload):
101 assert node.target._op is not None
102 ex_node = schema.Node(
103 name=node.name,
104 target=self.serialize_operator(node.target),
105 # pyre-ignore Undefined attribute [16]: Item `typing.Callable` of
106 # `typing.Union[typing.Callable[..., typing.Any], str]` has no attribute `_op`.
107 inputs=self.serialize_inputs(node.target._op, node.args, node.kwargs),
108 outputs=self.serialize_outputs(node),
109 # TODO: create a new tensor_values here, meta might have faketensor info
110 metadata=self.serialize_metadata(node),
111 )
112 self.graph_state.nodes.append(ex_node)
113 return
114 elif node.target is delegate.executorch_call_delegate:
115 ex_node = schema.Node(
116 name=node.name,
117 target=self.serialize_operator(node.target),
118 inputs=self.serialize_call_delegate_inputs(node.args),
119 outputs=self.serialize_arbitrary_outputs(node),
120 metadata=self.serialize_metadata(node),
121 )
122 self.graph_state.nodes.append(ex_node)
123 return
124
125 super().handle_call_function(node)
126
127 def serialize_outputs(self, node: torch.fx.Node) -> List[schema.Argument]:
128 if isinstance(node.target, EdgeOpOverload):

Callers

nothing calls this directly

Calls 8

serialize_metadataMethod · 0.95
serialize_operatorMethod · 0.95
serialize_inputsMethod · 0.95
serialize_outputsMethod · 0.95
appendMethod · 0.45

Tested by

no test coverage detected