aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/target/ethos_u/performance.py
diff options
context:
space:
mode:
authorNathan Bailey <nathan.bailey@arm.com>2024-01-26 14:19:52 +0000
committerNathan Bailey <nathan.bailey@arm.com>2024-02-23 15:23:06 +0000
commite506c7bd0453cb204ec7a59267fe3982492aaed6 (patch)
tree225b70ede952e6dfe0b33fcc3813106bb8828e33 /src/mlia/target/ethos_u/performance.py
parentd10b53a358d7fddc2e5a818d146b71bc5bb5e0ed (diff)
downloadmlia-e506c7bd0453cb204ec7a59267fe3982492aaed6.tar.gz
refactor: Migrate from Vela's internal code to CSV summary
Removes vela defines from vela compiler.py and performance.py Replaces calls to vela code with data from vela summary csv Resolves: MLIA-1024 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I569878f2936767f70c0255919ca40d1969275529
Diffstat (limited to 'src/mlia/target/ethos_u/performance.py')
-rw-r--r--src/mlia/target/ethos_u/performance.py48
1 files changed, 2 insertions, 46 deletions
diff --git a/src/mlia/target/ethos_u/performance.py b/src/mlia/target/ethos_u/performance.py
index 8decb75..1e2a504 100644
--- a/src/mlia/target/ethos_u/performance.py
+++ b/src/mlia/target/ethos_u/performance.py
@@ -54,7 +54,6 @@ class MemoryUsage:
sram_memory_area_size: int | float
dram_memory_area_size: int | float
- unknown_memory_area_size: int | float
on_chip_flash_memory_area_size: int | float
off_chip_flash_memory_area_size: int | float
memory_size_type: MemorySizeType = MemorySizeType.BYTES
@@ -67,27 +66,6 @@ class MemoryUsage:
"Off chip flash used",
]
- def in_kilobytes(self) -> MemoryUsage:
- """Return memory usage with values in kilobytes."""
- if self.memory_size_type == MemorySizeType.KILOBYTES:
- return self
-
- kilobytes = [
- value / BYTES_PER_KILOBYTE
- for value in [
- self.sram_memory_area_size,
- self.dram_memory_area_size,
- self.unknown_memory_area_size,
- self.on_chip_flash_memory_area_size,
- self.off_chip_flash_memory_area_size,
- ]
- ]
-
- return MemoryUsage(
- *kilobytes, # type: ignore
- memory_size_type=MemorySizeType.KILOBYTES,
- )
-
@dataclass
class PerformanceMetrics:
@@ -98,23 +76,6 @@ class PerformanceMetrics:
memory_usage: MemoryUsage | None
layerwise_perf_info: LayerwisePerfInfo | None
- def in_kilobytes(self) -> PerformanceMetrics:
- """Return metrics with memory usage in KiB."""
- if self.memory_usage is None:
- return PerformanceMetrics(
- self.target_config,
- self.npu_cycles,
- self.memory_usage,
- self.layerwise_perf_info,
- )
-
- return PerformanceMetrics(
- self.target_config,
- self.npu_cycles,
- self.memory_usage.in_kilobytes(),
- self.layerwise_perf_info,
- )
-
@dataclass
class OptimizationPerformanceMetrics:
@@ -157,7 +118,6 @@ class VelaPerformanceEstimator(
MemoryUsage(
vela_perf_metrics.sram_memory_area_size,
vela_perf_metrics.dram_memory_area_size,
- vela_perf_metrics.unknown_memory_area_size,
vela_perf_metrics.on_chip_flash_memory_area_size,
vela_perf_metrics.off_chip_flash_memory_area_size,
),
@@ -192,12 +152,8 @@ class CorstonePerformanceEstimator(
else model
)
- optimized_model_path = self.context.get_model_path(
- f"{model_path.stem}_vela.tflite"
- )
-
- vela_comp.optimize_model(
- model_path, self.target_config.compiler_options, optimized_model_path
+ optimized_model_path = vela_comp.compile_model(
+ model_path, self.target_config.compiler_options
)
corstone_perf_metrics = estimate_performance(