From 687f3018ec433ff6ba4f950cc47c041534933fd1 Mon Sep 17 00:00:00 2001 From: Erik Lundell Date: Fri, 15 Nov 2024 12:35:32 +0100 Subject: [PATCH] Add pytest option to run FVPs in fast mode Add --fast_fvp when running pytest to enable Also adds flag to disable visualisation for Corstone320 Signed-off-by: Erik Lundell Change-Id: I4a49bce7f773d805f89f0255c1c08e0c277edd58 --- backends/arm/test/common.py | 3 +++ backends/arm/test/runner_utils.py | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/backends/arm/test/common.py b/backends/arm/test/common.py index 3a9818929b9..3b1e6ce86b5 100644 --- a/backends/arm/test/common.py +++ b/backends/arm/test/common.py @@ -29,6 +29,7 @@ class arm_test_options(Enum): corstone300 = auto() dump_path = auto() date_format = auto() + fast_fvp = auto() _test_options: dict[arm_test_options, Any] = {} @@ -41,6 +42,7 @@ def pytest_addoption(parser): parser.addoption("--arm_run_corstone300", action="store_true") parser.addoption("--default_dump_path", default=None) parser.addoption("--date_format", default="%d-%b-%H:%M:%S") + parser.addoption("--fast_fvp", action="store_true") def pytest_configure(config): @@ -63,6 +65,7 @@ def pytest_configure(config): f"Supplied argument 'default_dump_path={dump_path}' that does not exist or is not a directory." ) _test_options[arm_test_options.date_format] = config.option.date_format + _test_options[arm_test_options.fast_fvp] = config.option.fast_fvp logging.basicConfig(level=logging.INFO, stream=sys.stdout) diff --git a/backends/arm/test/runner_utils.py b/backends/arm/test/runner_utils.py index d2ee113a5d2..608761098e0 100644 --- a/backends/arm/test/runner_utils.py +++ b/backends/arm/test/runner_utils.py @@ -17,6 +17,8 @@ import numpy as np import torch +from executorch.backends.arm.test.common import arm_test_options, is_option_enabled + from torch.export import ExportedProgram from torch.fx.node import Node @@ -249,6 +251,10 @@ def run_corstone( for input_path in input_paths: cmd_line += f" -i {input_path}" + ethos_u_extra_args = "" + if is_option_enabled(arm_test_options.fast_fvp): + ethos_u_extra_args = ethos_u_extra_args + "--fast" + command_args = { "corstone-300": [ "FVP_Corstone_SSE-300_Ethos-U55", @@ -267,6 +273,8 @@ def run_corstone( "-C", "cpu0.semihosting-stack_base=0", "-C", + f"ethosu.extra_args='{ethos_u_extra_args}'", + "-C", "cpu0.semihosting-heap_limit=0", "-C", f"cpu0.semihosting-cmd_line='{cmd_line}'", @@ -282,6 +290,8 @@ def run_corstone( "-C", "mps4_board.visualisation.disable-visualisation=1", "-C", + "vis_hdlcd.disable_visualisation=1", + "-C", "mps4_board.telnetterminal0.start_telnet=0", "-C", "mps4_board.uart0.out_file='-'", @@ -296,6 +306,8 @@ def run_corstone( "-C", "mps4_board.subsystem.cpu0.semihosting-heap_limit=0", "-C", + f"mps4_board.subsystem.ethosu.extra_args='{ethos_u_extra_args}'", + "-C", f"mps4_board.subsystem.cpu0.semihosting-cmd_line='{cmd_line}'", "-a", elf_path,