aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/npu_performance.py
diff options
context:
space:
mode:
authorTim Hall <tim.hall@arm.com>2021-06-17 17:02:31 +0100
committerTim Hall <tim.hall@arm.com>2021-06-17 17:02:31 +0100
commit789e6f3acd1a377dfba80aa18d513579fd33fc93 (patch)
treea3f44fafb91f26032c2d273aef6c602da05d4715 /ethosu/vela/npu_performance.py
parenta5e8c1c3470409566723919e878b17297a52c54b (diff)
downloadethos-u-vela-789e6f3acd1a377dfba80aa18d513579fd33fc93.tar.gz
vela: Improve block configuration and weight buffering algorithm
- Update block config selection to take into account partial IFM fetches at edge of non-whole OFM block data. - Change to scheduler depth slicing for networks in MLBEDSW-4637 for improved buffering. This helps general performance by buffering larger depth slices. - Bug fix for opt_max_schedule always being fitted to SRAM which prevented the optimisation step running in some cases. Signed-off-by: Tim Hall <tim.hall@arm.com> Change-Id: I97642c5adec3bb684b1daabf2b81574c27d4eef2
Diffstat (limited to 'ethosu/vela/npu_performance.py')
-rw-r--r--ethosu/vela/npu_performance.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/ethosu/vela/npu_performance.py b/ethosu/vela/npu_performance.py
index 5c61c7db..21b420bf 100644
--- a/ethosu/vela/npu_performance.py
+++ b/ethosu/vela/npu_performance.py
@@ -410,6 +410,7 @@ def _estimate_conv_cycles(arch, op_type: Op, faf_type: Op, query: PerformanceQue
def measure_mem2mem_cycles(arch, from_mem_area, to_mem_area, to_transfer):
from_cycles = to_transfer // arch.memory_bandwidths_per_cycle[from_mem_area]
+ from_cycles += arch.memory_latency[from_mem_area][BandwidthDirection.Read]
to_cycles = to_transfer // arch.memory_bandwidths_per_cycle[to_mem_area]
return max(from_cycles, to_cycles)