diff options
author | Annie Tallund <annie.tallund@arm.com> | 2023-01-12 07:49:06 +0100 |
---|---|---|
committer | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2023-02-08 15:23:29 +0000 |
commit | 836efd40317a397761ec8b66e3f4398faac43ad0 (patch) | |
tree | 5133ffd51d8d6772551333a4b337d36a501a8a91 /src/mlia/cli | |
parent | a4fb8c72f15146c95df16c25e75f03344e9814fd (diff) | |
download | mlia-836efd40317a397761ec8b66e3f4398faac43ad0.tar.gz |
MLIA-770 List all available backends
- Rely on target and backend registry for support information
- Make above information less Ethos(TM)-U specific
Change-Id: I8dbfb84401016412a3d719a84eb592f21d79c46b
Diffstat (limited to 'src/mlia/cli')
-rw-r--r-- | src/mlia/cli/command_validators.py | 4 | ||||
-rw-r--r-- | src/mlia/cli/config.py | 25 |
2 files changed, 15 insertions, 14 deletions
diff --git a/src/mlia/cli/command_validators.py b/src/mlia/cli/command_validators.py index eb04192..8eb966b 100644 --- a/src/mlia/cli/command_validators.py +++ b/src/mlia/cli/command_validators.py @@ -7,7 +7,7 @@ import argparse import logging import sys -from mlia.cli.config import get_default_backends +from mlia.cli.config import get_default_backends_dict from mlia.target.config import get_target from mlia.target.registry import supported_backends @@ -32,7 +32,7 @@ def validate_backend( target = get_target(target_profile) if not backend: - return get_default_backends()[target] + return get_default_backends_dict()[target] compatible_backends = supported_backends(target_map[target]) diff --git a/src/mlia/cli/config.py b/src/mlia/cli/config.py index 680b4b6..0dac3e8 100644 --- a/src/mlia/cli/config.py +++ b/src/mlia/cli/config.py @@ -10,9 +10,9 @@ from typing import Optional from typing import TypedDict from mlia.backend.corstone.install import get_corstone_installations -from mlia.backend.install import supported_backends from mlia.backend.manager import DefaultInstallationManager from mlia.backend.manager import InstallationManager +from mlia.backend.registry import get_supported_backends from mlia.backend.tosa_checker.install import get_tosa_backend_installation logger = logging.getLogger(__name__) @@ -32,25 +32,28 @@ def get_installation_manager(noninteractive: bool = False) -> InstallationManage @lru_cache def get_available_backends() -> list[str]: """Return list of the available backends.""" - available_backends = ["Vela", "tosa-checker", "armnn-tflitedelegate"] - # Add backends using backend manager manager = get_installation_manager() - available_backends.extend( + available_backends = [ backend - for backend in supported_backends() + for backend in get_supported_backends() if manager.backend_installed(backend) - ) + ] return available_backends # List of mutually exclusive Corstone backends ordered by priority _CORSTONE_EXCLUSIVE_PRIORITY = ("Corstone-310", "Corstone-300") -_NON_ETHOS_U_BACKENDS = ("tosa-checker", "armnn-tflitedelegate") +_NON_ETHOS_U_BACKENDS = ("TOSA-Checker", "ArmNNTFLiteDelegate") + + +def get_ethos_u_default_backends(backends: list[str]) -> list[str]: + """Get Ethos-U default backends for evaluation.""" + return [x for x in backends if x not in _NON_ETHOS_U_BACKENDS] -def get_ethos_u_default_backends() -> list[str]: +def get_default_backends() -> list[str]: """Get default backends for evaluation.""" backends = get_available_backends() @@ -64,8 +67,6 @@ def get_ethos_u_default_backends() -> list[str]: ] break - # Filter out non ethos-u backends - backends = [x for x in backends if x not in _NON_ETHOS_U_BACKENDS] return backends @@ -86,9 +87,9 @@ BackendCompatibility = TypedDict( ) -def get_default_backends() -> dict[str, list[str]]: +def get_default_backends_dict() -> dict[str, list[str]]: """Return default backends for all targets.""" - ethos_u_defaults = get_ethos_u_default_backends() + ethos_u_defaults = get_ethos_u_default_backends(get_default_backends()) return { "ethos-u55": ethos_u_defaults, "ethos-u65": ethos_u_defaults, |