Skip to content

Commit 45519f6

Browse files
Arm backend: Move get_tosa_spec to tosa_specification.py (#13281)
Signed-off-by: Sebastian Larsson <[email protected]>
1 parent baed71b commit 45519f6

File tree

10 files changed

+28
-23
lines changed

10 files changed

+28
-23
lines changed

backends/arm/arm_backend.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,6 @@ def is_vgf(compile_spec: List[CompileSpec]) -> bool:
217217
return False
218218

219219

220-
def get_tosa_spec(compile_spec: List[CompileSpec]) -> TosaSpecification:
221-
for spec in compile_spec:
222-
if spec.key == "tosa_spec":
223-
return TosaSpecification.create_from_string(spec.value.decode())
224-
raise ValueError("Could not find TOSA version in CompileSpec")
225-
226-
227220
def get_intermediate_path(compile_spec: List[CompileSpec]) -> Optional[str]:
228221
for spec in compile_spec:
229222
if spec.key == "debug_artifact_path":

backends/arm/quantizer/arm_quantizer.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@
2020
from executorch.backends.arm._passes import ArmPassManager
2121

2222
from executorch.backends.arm.quantizer import QuantizationConfig
23-
from executorch.backends.arm.tosa_specification import TosaSpecification
23+
from executorch.backends.arm.tosa_specification import get_tosa_spec, TosaSpecification
2424

2525
from .arm_quantizer_utils import is_annotated, mark_node_as_annotated
2626
from .quantization_annotator import annotate_graph
2727
from executorch.backends.arm.arm_backend import (
28-
get_tosa_spec,
2928
is_ethosu,
3029
is_vgf,
3130
) # usort: skip

backends/arm/test/misc/test_tosa_spec.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55

66
import unittest
77

8-
from executorch.backends.arm.arm_backend import get_tosa_spec
9-
10-
from executorch.backends.arm.tosa_specification import Tosa_1_00, TosaSpecification
8+
from executorch.backends.arm.tosa_specification import (
9+
get_tosa_spec,
10+
Tosa_1_00,
11+
TosaSpecification,
12+
)
1113

1214
from executorch.exir.backend.compile_spec_schema import CompileSpec
1315
from parameterized import parameterized # type: ignore[import-untyped]

backends/arm/test/ops/test_add.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from typing import Tuple
99

1010
import torch
11-
from executorch.backends.arm.arm_backend import get_tosa_spec
1211
from executorch.backends.arm.quantizer import arm_quantizer
1312
from executorch.backends.arm.test import common, conftest
1413
from executorch.backends.arm.test.tester.test_pipeline import (
@@ -18,7 +17,7 @@
1817
TosaPipelineINT,
1918
VgfPipeline,
2019
)
21-
from executorch.backends.arm.tosa_specification import TosaSpecification
20+
from executorch.backends.arm.tosa_specification import get_tosa_spec, TosaSpecification
2221
from executorch.backends.xnnpack.test.tester import Quantize
2322
from torchao.quantization.pt2e import HistogramObserver
2423
from torchao.quantization.pt2e.quantizer import QuantizationSpec

backends/arm/test/runner_utils.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,13 @@
1818
import numpy as np
1919
import torch
2020

21-
from executorch.backends.arm.arm_backend import get_tosa_spec, is_tosa
21+
from executorch.backends.arm.arm_backend import is_tosa
2222
from executorch.backends.arm.test.conftest import is_option_enabled
23-
from executorch.backends.arm.tosa_specification import Tosa_1_00, TosaSpecification
24-
23+
from executorch.backends.arm.tosa_specification import (
24+
get_tosa_spec,
25+
Tosa_1_00,
26+
TosaSpecification,
27+
)
2528
from executorch.exir import ExecutorchProgramManager, ExportedProgram
2629
from executorch.exir.backend.compile_spec_schema import CompileSpec
2730
from executorch.exir.lowered_backend_module import LoweredBackendModule

backends/arm/test/tester/arm_tester.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
from executorch.backends.arm.arm_backend import (
3636
get_intermediate_path,
37-
get_tosa_spec,
3837
is_ethosu,
3938
is_tosa,
4039
is_vgf,
@@ -62,7 +61,7 @@
6261
)
6362
from executorch.backends.arm.tosa_mapping import extract_tensor_meta
6463
from executorch.backends.arm.tosa_partitioner import TOSAPartitioner
65-
from executorch.backends.arm.tosa_specification import TosaSpecification
64+
from executorch.backends.arm.tosa_specification import get_tosa_spec, TosaSpecification
6665

6766
from executorch.backends.arm.vgf_partitioner import VgfPartitioner
6867

backends/arm/tosa_backend.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
from typing import cast, final, List
1515

1616
import serializer.tosa_serializer as ts # type: ignore
17-
from executorch.backends.arm.arm_backend import get_tosa_spec
1817
from executorch.backends.arm.operators.node_visitor import get_node_visitors
18+
from executorch.backends.arm.tosa_specification import get_tosa_spec
1919
from executorch.backends.arm._passes import (
2020
ArmPassManager,
2121
) # usort: skip

backends/arm/tosa_partitioner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
import torch
1212
from executorch.backends.arm.constants import DQ_OPS, Q_OPS
1313
from executorch.backends.arm.arm_backend import (
14-
get_tosa_spec,
1514
is_tosa,
1615
) # usort: skip
1716
from executorch.backends.arm._passes.arm_pass_utils import get_first_fake_tensor
1817
from executorch.backends.arm.operator_support.tosa_supported_operators import (
1918
tosa_support_factory,
2019
)
2120
from executorch.backends.arm.tosa_backend import TOSABackend
21+
from executorch.backends.arm.tosa_specification import get_tosa_spec
2222
from executorch.exir.backend.compile_spec_schema import CompileSpec
2323
from executorch.exir.backend.partitioner import (
2424
DelegationSpec,

backends/arm/tosa_specification.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
import re
1616
from typing import List
1717

18+
from executorch.exir.backend.compile_spec_schema import ( # type: ignore[import-not-found]
19+
CompileSpec,
20+
)
21+
1822
from packaging.version import Version
1923

2024

@@ -188,3 +192,10 @@ def get_context_spec() -> TosaSpecification:
188192
return TosaLoweringContext.tosa_spec_var.get()
189193
except LookupError:
190194
raise RuntimeError("Function must be executed within a TosaLoweringContext")
195+
196+
197+
def get_tosa_spec(compile_spec: List[CompileSpec]) -> TosaSpecification:
198+
for spec in compile_spec:
199+
if spec.key == "tosa_spec":
200+
return TosaSpecification.create_from_string(spec.value.decode())
201+
raise ValueError("Could not find TOSA version in CompileSpec")

examples/arm/aot_arm_compiler.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from examples.devtools.scripts.export_bundled_program import save_bundled_program
2020
from executorch.backends.arm.arm_backend import (
2121
ArmCompileSpecBuilder,
22-
get_tosa_spec,
2322
is_ethosu,
2423
is_tosa,
2524
is_vgf,
@@ -32,7 +31,7 @@
3231
VgfQuantizer,
3332
)
3433
from executorch.backends.arm.tosa_partitioner import TOSAPartitioner
35-
from executorch.backends.arm.tosa_specification import TosaSpecification
34+
from executorch.backends.arm.tosa_specification import get_tosa_spec, TosaSpecification
3635

3736
from executorch.backends.arm.util.arm_model_evaluator import (
3837
GenericModelEvaluator,

0 commit comments

Comments
 (0)