diff options
author | Nathan Bailey <nathan.bailey@arm.com> | 2024-01-26 14:19:52 +0000 |
---|---|---|
committer | Nathan Bailey <nathan.bailey@arm.com> | 2024-02-23 15:23:06 +0000 |
commit | e506c7bd0453cb204ec7a59267fe3982492aaed6 (patch) | |
tree | 225b70ede952e6dfe0b33fcc3813106bb8828e33 /src/mlia/target/ethos_u/performance.py | |
parent | d10b53a358d7fddc2e5a818d146b71bc5bb5e0ed (diff) | |
download | mlia-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.py | 48 |
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( |