Skip to content

Commit 3869a93

Browse files
Olivia-liufacebook-github-bot
authored andcommitted
ET Schema change to add module hierarchy to node metadata
Summary: To match D49129890, which has been E2E tested. We want the module stack information so that it gets propagated to Event instances eventually and accessed by the user. Differential Revision: D49334346
1 parent 0199c1b commit 3869a93

7 files changed

+12
-8
lines changed

sdk/edir/et_schema.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
# Keywords used in EDIR Metadata
3434
class RESERVED_METADATA_ARG(Enum):
3535
DEBUG_HANDLE = "debug_handle"
36-
MODULE_STACK = "module_stack"
36+
MODULE_STACK = "nn_module_stack"
3737
SOURCE_FN = "source_fn"
38-
MODULE_TYPE = "nn_module_type"
38+
MODULE_TYPE = "module_type"
3939
PROFILE_START_TIME = "profile_start_time"
4040
PROFILE_END_TIME = "profile_end_time"
4141
LOAD_START_TIME = "load_start_time"
@@ -719,6 +719,10 @@ def _extract_metadata(
719719
ret[RESERVED_METADATA_ARG.STACK_TRACE.value] = metadata[
720720
RESERVED_METADATA_ARG.STACK_TRACE.value
721721
]
722+
if RESERVED_METADATA_ARG.MODULE_STACK.value in metadata:
723+
ret[RESERVED_METADATA_ARG.MODULE_STACK.value] = metadata[
724+
RESERVED_METADATA_ARG.MODULE_STACK.value
725+
]
722726
return ret
723727

724728
# Not yet implemented
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# @generated by //executorch/sdk/edir/tests:generate_fixtures
22

3-
FXOperatorGraph(graph_name='base', elements=[FXOperatorGraph(graph_name='inputs', elements=[ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], metadata=None), FXOperatorGraph(graph_name='forward', elements=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=None), OperatorNode(name='mul_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='mul.Tensor'), OperatorGraphWithStats(graph_name='executorch_call_delegate', elements=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='executorch_call_delegate')], metadata={'module_type': 'executorch_call_delegate'})], metadata=None), FXOperatorGraph(graph_name='outputs', elements=[ValueNode(name='output_', inputs=[OperatorNode(name='mul_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='mul.Tensor')], output_shapes=None, metadata={}, dtype=None, val=None)], metadata=None)], metadata=None)
3+
FXOperatorGraph(graph_name='base', elements=[FXOperatorGraph(graph_name='inputs', elements=[ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], metadata=None), FXOperatorGraph(graph_name='forward', elements=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), OperatorNode(name='mul_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='mul.Tensor'), OperatorGraphWithStats(graph_name='executorch_call_delegate', elements=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate')], metadata={'module_type': 'executorch_call_delegate'})], metadata=None), FXOperatorGraph(graph_name='outputs', elements=[ValueNode(name='output_', inputs=[OperatorNode(name='mul_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={}, dtype=None, val=())], output_shapes=None, metadata={}, op='mul.Tensor')], output_shapes=None, metadata={}, dtype=None, val=None)], metadata=None)], metadata=None)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# @generated by //executorch/sdk/edir/tests:generate_fixtures
22

3-
FXOperatorGraph(graph_name='base', elements=[FXOperatorGraph(graph_name='inputs', elements=[ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=()), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], metadata=None), FXOperatorGraph(graph_name='forward', elements=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3}, dtype=None, val=None), OperatorNode(name='aten_mul_tensor_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 6}, op='aten.mul.Tensor'), OperatorGraphWithStats(graph_name='executorch_call_delegate', elements=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4}, op='executorch_call_delegate')], metadata={'module_type': 'executorch_call_delegate'})], metadata=None), FXOperatorGraph(graph_name='outputs', elements=[ValueNode(name='output_', inputs=[OperatorNode(name='aten_mul_tensor_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 6}, op='aten.mul.Tensor')], output_shapes=None, metadata={'debug_handle': 7}, dtype=None, val=None)], metadata=None)], metadata=None)
3+
FXOperatorGraph(graph_name='base', elements=[FXOperatorGraph(graph_name='inputs', elements=[ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=()), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], metadata=None), FXOperatorGraph(graph_name='forward', elements=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), OperatorNode(name='aten_mul_tensor_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 6}, op='aten.mul.Tensor'), OperatorGraphWithStats(graph_name='executorch_call_delegate', elements=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate')], metadata={'module_type': 'executorch_call_delegate'})], metadata=None), FXOperatorGraph(graph_name='outputs', elements=[ValueNode(name='output_', inputs=[OperatorNode(name='aten_mul_tensor_', inputs=[OperatorNode(name='executorch_call_delegate_', inputs=[ValueNode(name='lowered_module_0_', inputs=None, output_shapes=None, metadata={'debug_handle': 3, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, dtype=None, val=None), ValueNode(name='arg0_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 0}, dtype=None, val=()), ValueNode(name='arg1_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 1}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 4, 'nn_module_stack': {'L__self___lowered_module': ("L['self'].lowered_module", <class 'executorch.exir.lowered_backend_module.LoweredBackendModule'>)}}, op='executorch_call_delegate'), ValueNode(name='arg2_1_', inputs=None, output_shapes=None, metadata={'debug_handle': 2}, dtype=None, val=())], output_shapes=None, metadata={'debug_handle': 6}, op='aten.mul.Tensor')], output_shapes=None, metadata={'debug_handle': 7}, dtype=None, val=None)], metadata=None)], metadata=None)

0 commit comments

Comments
 (0)