diff options
author | Tim Hall <tim.hall@arm.com> | 2022-05-19 12:36:58 +0100 |
---|---|---|
committer | tim.hall <tim.hall@arm.com> | 2022-05-19 15:56:19 +0000 |
commit | cda4fcb0fd3e9766a161cf3e5aa7c3283e7f7c9e (patch) | |
tree | 2ca560bcf290bf88ab7a0058098df794486ab528 /ethosu/vela/vela.py | |
parent | 8bc7a652607a771e234fda6b05275542ff0fc072 (diff) | |
download | ethos-u-vela-cda4fcb0fd3e9766a161cf3e5aa7c3283e7f7c9e.tar.gz |
MLBEDSW-6563: networks failing with memory area exceeded in vela3.4.0.rc2
- 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
Diffstat (limited to 'ethosu/vela/vela.py')
-rw-r--r-- | ethosu/vela/vela.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ethosu/vela/vela.py b/ethosu/vela/vela.py index b5f9f986..62078007 100644 --- a/ethosu/vela/vela.py +++ b/ethosu/vela/vela.py @@ -37,6 +37,7 @@ from .api import API_VERSION from .debug_database import DebugDatabase from .errors import InputFileError from .errors import VelaError +from .hillclimb_allocation import HillClimbAllocator from .nn_graph import NetworkType from .nn_graph import TensorAllocator from .tensor import MemArea @@ -439,6 +440,14 @@ def main(args=None): default=1000, help="Set the recursion depth limit, may result in RecursionError if too low (default: %(default)s)", ) + parser.add_argument( + "--hillclimb-max-iterations", + type=int, + default=HillClimbAllocator.MAX_ITERATIONS, + help=( + "Set the maximum number of iterations the Hill Climb tensor allocator will run (default: %(default)s)" + ), + ) args = parser.parse_args(args=args) # Generate the supported ops report and exit @@ -523,6 +532,7 @@ def main(args=None): timing=args.timing, output_dir=args.output_dir, cpu_tensor_alignment=args.cpu_tensor_alignment, + hillclimb_max_iterations=args.hillclimb_max_iterations, ) scheduler_options = scheduler.SchedulerOptions( |