Skip to content

Commit f293cd7

Browse files
committed
Optimize some codes.
1 parent f27ea61 commit f293cd7

1 file changed

Lines changed: 42 additions & 44 deletions

File tree

graph_net_bench/torch/test_compiler.py

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,43 +14,46 @@
1414
import numpy as np
1515
import platform
1616
import base64
17-
from graph_net_bench.torch.backend.graph_compiler_backend import GraphCompilerBackend
18-
from graph_net_bench.torch.backend.tvm_backend import TvmBackend
19-
from graph_net_bench.torch.backend.flagtree_backend import FlagtreeBackend
20-
from graph_net_bench.torch.backend.xla_backend import XlaBackend
21-
from graph_net_bench.torch.backend.inductor_backend import InductorBackend
22-
from graph_net_bench.torch.backend.tensorrt_backend import TensorRTBackend
23-
from graph_net_bench.torch.backend.blade_disc_backend import BladeDISCBackend
24-
from graph_net_bench.torch.backend.nope_backend import NopeBackend
25-
from graph_net_bench.torch.backend.pass_mgr_backend import PassMgrBackend
26-
from graph_net_bench.torch.backend.unstable_to_stable_backend import (
27-
UnstableToStableBackend,
28-
)
29-
from graph_net_bench.torch.backend.range_decomposer_validator_backend import (
30-
RangeDecomposerValidatorBackend,
31-
)
32-
from graph_net_bench.torch.backend.graph_variable_renamer_validator_backend import (
33-
GraphVariableRenamerValidatorBackend,
34-
)
35-
from graph_net_bench.torch.backend.tilelang_backend import TilelangBackend
3617
from graph_net_bench import test_compiler_util
3718
from graph_net_bench import path_utils
3819

3920

40-
compiler_backend_name2class = {
41-
"tvm": TvmBackend,
42-
"flagtree": FlagtreeBackend,
43-
"xla": XlaBackend,
44-
"inductor": InductorBackend,
45-
"tensorrt": TensorRTBackend,
46-
"bladedisc": BladeDISCBackend,
47-
"nope": NopeBackend,
48-
"pass_mgr": PassMgrBackend,
49-
"unstable_to_stable": UnstableToStableBackend,
50-
"range_decomposer_validator": RangeDecomposerValidatorBackend,
51-
"graph_variable_renamer_validator": GraphVariableRenamerValidatorBackend,
52-
"tilelang": TilelangBackend,
53-
}
21+
def _get_backend_class(name):
22+
from graph_net_bench.torch.backend.tvm_backend import TvmBackend
23+
from graph_net_bench.torch.backend.flagtree_backend import FlagtreeBackend
24+
from graph_net_bench.torch.backend.xla_backend import XlaBackend
25+
from graph_net_bench.torch.backend.inductor_backend import InductorBackend
26+
from graph_net_bench.torch.backend.tensorrt_backend import TensorRTBackend
27+
from graph_net_bench.torch.backend.blade_disc_backend import BladeDISCBackend
28+
from graph_net_bench.torch.backend.nope_backend import NopeBackend
29+
from graph_net_bench.torch.backend.pass_mgr_backend import PassMgrBackend
30+
from graph_net_bench.torch.backend.unstable_to_stable_backend import (
31+
UnstableToStableBackend,
32+
)
33+
from graph_net_bench.torch.backend.range_decomposer_validator_backend import (
34+
RangeDecomposerValidatorBackend,
35+
)
36+
from graph_net_bench.torch.backend.graph_variable_renamer_validator_backend import (
37+
GraphVariableRenamerValidatorBackend,
38+
)
39+
from graph_net_bench.torch.backend.tilelang_backend import TilelangBackend
40+
41+
compiler_backend_name2class = {
42+
"tvm": TvmBackend,
43+
"flagtree": FlagtreeBackend,
44+
"xla": XlaBackend,
45+
"inductor": InductorBackend,
46+
"tensorrt": TensorRTBackend,
47+
"bladedisc": BladeDISCBackend,
48+
"nope": NopeBackend,
49+
"pass_mgr": PassMgrBackend,
50+
"unstable_to_stable": UnstableToStableBackend,
51+
"range_decomposer_validator": RangeDecomposerValidatorBackend,
52+
"graph_variable_renamer_validator": GraphVariableRenamerValidatorBackend,
53+
"tilelang": TilelangBackend,
54+
}
55+
assert name in compiler_backend_name2class, f"Unknown compiler: {name}"
56+
return compiler_backend_name2class[name]
5457

5558

5659
def set_seed(random_seed):
@@ -111,11 +114,8 @@ def convert_to_dict(config_str):
111114
return config
112115

113116

114-
def get_compiler_backend(args) -> GraphCompilerBackend:
115-
assert (
116-
args.compiler in compiler_backend_name2class
117-
), f"Unknown compiler: {args.compiler}"
118-
backend_class = compiler_backend_name2class[args.compiler]
117+
def get_compiler_backend(args):
118+
backend_class = _get_backend_class(args.compiler)
119119
config = convert_to_dict(args.config) if args.config is not None else {}
120120
return backend_class(config)
121121

@@ -167,18 +167,16 @@ def measure_performance(model_call, args, compiler):
167167
gpu_times = []
168168

169169
for i in range(args.trials):
170+
# GPU-only timing (CUDA Events)
171+
start_event = torch.cuda.Event(enable_timing=True)
172+
end_event = torch.cuda.Event(enable_timing=True)
173+
170174
# End-to-end timing (naive_timer)
171175
duration_box = test_compiler_util.DurationBox(-1)
172176
with test_compiler_util.naive_timer(duration_box, compiler.synchronize):
173-
# GPU-only timing (CUDA Events)
174-
start_event = torch.cuda.Event(enable_timing=True)
175-
end_event = torch.cuda.Event(enable_timing=True)
176177
start_event.record()
177-
178178
model_call()
179-
180179
end_event.record()
181-
compiler.synchronize()
182180

183181
gpu_time_ms = start_event.elapsed_time(end_event)
184182
e2e_times.append(duration_box.value)

0 commit comments

Comments
 (0)