Skip to content

Commit ef681da

Browse files
limintangfacebook-github-bot
authored andcommitted
Move print_delegate_info to devtools (#8207)
Summary: As title. Reviewed By: digantdesai Differential Revision: D69158191
1 parent 8ec08f9 commit ef681da

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

devtools/backend_debug/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from executorch.devtools.backend_debug.delegation_info import (
88
DelegationBreakdown,
99
get_delegation_info,
10+
print_delegation_info,
1011
)
1112

12-
__all__ = ["DelegationBreakdown", "get_delegation_info"]
13+
__all__ = ["DelegationBreakdown", "get_delegation_info", "print_delegation_info"]

devtools/backend_debug/delegation_info.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import pandas as pd
1313
import torch
14-
14+
from tabulate import tabulate
1515

1616
# Column names of the DataFrame returned by DelegationInfo.get_operator_delegation_dataframe()
1717
# which describes the summarized delegation information grouped by each operator type
@@ -174,3 +174,10 @@ def _insert_op_occurrences_dict(node_name: str, delegated: bool) -> None:
174174
num_delegated_subgraphs=delegated_subgraph_counter,
175175
delegation_by_operator=op_occurrences_dict,
176176
)
177+
178+
179+
def print_delegation_info(graph_module: torch.fx.GraphModule):
180+
delegation_info = get_delegation_info(graph_module)
181+
print(delegation_info.get_summary())
182+
df = delegation_info.get_operator_delegation_dataframe()
183+
print(tabulate(df, headers="keys", tablefmt="fancy_grid"))

examples/models/llama/export_llama_lib.py

+1-8
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import torch
2424

2525
from executorch.backends.vulkan._passes.remove_asserts import remove_asserts
26-
from executorch.devtools.backend_debug import get_delegation_info
26+
from executorch.devtools.backend_debug import print_delegation_info
2727

2828
from executorch.devtools.etrecord import generate_etrecord
2929
from executorch.exir.passes.init_mutable_pass import InitializedMutableBufferPass
@@ -46,7 +46,6 @@
4646
get_vulkan_quantizer,
4747
)
4848
from executorch.util.activation_memory_profiler import generate_memory_trace
49-
from tabulate import tabulate
5049

5150
from ..model_factory import EagerModelFactory
5251
from .source_transformation.apply_spin_quant_r1_r2 import (
@@ -801,12 +800,6 @@ def _export_llama(args) -> LLMEdgeManager: # noqa: C901
801800
for partitioner in partitioners:
802801
logging.info(f"--> {partitioner.__class__.__name__}")
803802

804-
def print_delegation_info(graph_module: torch.fx.GraphModule):
805-
delegation_info = get_delegation_info(graph_module)
806-
print(delegation_info.get_summary())
807-
df = delegation_info.get_operator_delegation_dataframe()
808-
print(tabulate(df, headers="keys", tablefmt="fancy_grid"))
809-
810803
additional_passes = []
811804
if args.model in TORCHTUNE_DEFINED_MODELS:
812805
additional_passes = [InitializedMutableBufferPass(["kv_cache_pos"])]

0 commit comments

Comments
 (0)