MLBEDSW-6563: networks failing with memory area exceeded in vela
- For allocations that have a hard memory limit the Hill Climb allocator
should be given more attempts to find a solution that would fit
- The fix is to use a memory limit when there is a hard constraint, and
a minimum iteration count, reset on every improvement, when there is a soft
constraint
- Added maximum number iterations CLI option
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: I19ff53a0b68412de280263626778a3102cbe52fa
diff --git a/ethosu/vela/compiler_driver.py b/ethosu/vela/compiler_driver.py
index cec37ef..1d8756b 100644
--- a/ethosu/vela/compiler_driver.py
+++ b/ethosu/vela/compiler_driver.py
@@ -66,6 +66,7 @@
timing=False,
output_dir="outputs",
cpu_tensor_alignment=Tensor.AllocationQuantum,
+ hillclimb_max_iterations=None,
):
self.verbose_graph = verbose_graph
@@ -84,6 +85,7 @@
self.timing = timing
self.output_dir = output_dir
self.cpu_tensor_alignment = cpu_tensor_alignment
+ self.hillclimb_max_iterations = hillclimb_max_iterations
def __str__(self):
return type(self).__name__ + ": " + str(self.__dict__)