diff options
Diffstat (limited to 'src/mlia')
-rw-r--r-- | src/mlia/backend/armnn_tflite_delegate/__init__.py | 1 | ||||
-rw-r--r-- | src/mlia/backend/config.py | 5 | ||||
-rw-r--r-- | src/mlia/backend/corstone/__init__.py | 11 | ||||
-rw-r--r-- | src/mlia/backend/manager.py | 8 | ||||
-rw-r--r-- | src/mlia/backend/tosa_checker/__init__.py | 2 | ||||
-rw-r--r-- | src/mlia/backend/vela/__init__.py | 1 |
6 files changed, 20 insertions, 8 deletions
diff --git a/src/mlia/backend/armnn_tflite_delegate/__init__.py b/src/mlia/backend/armnn_tflite_delegate/__init__.py index 66e5a2a..c190088 100644 --- a/src/mlia/backend/armnn_tflite_delegate/__init__.py +++ b/src/mlia/backend/armnn_tflite_delegate/__init__.py @@ -15,6 +15,7 @@ registry.register( supported_advice=[AdviceCategory.COMPATIBILITY], supported_systems=None, backend_type=BackendType.BUILTIN, + installation=None, ), pretty_name=cast(str, ARMNN_TFLITE_DELEGATE["backend"]), ) diff --git a/src/mlia/backend/config.py b/src/mlia/backend/config.py index 8d14b28..2e34ffb 100644 --- a/src/mlia/backend/config.py +++ b/src/mlia/backend/config.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-FileCopyrightText: Copyright 2022-2023, Arm Limited and/or its affiliates. # SPDX-License-Identifier: Apache-2.0 """Backend config module.""" from __future__ import annotations @@ -8,6 +8,7 @@ from enum import auto from enum import Enum from typing import cast +from mlia.backend.install import Installation from mlia.core.common import AdviceCategory @@ -59,11 +60,13 @@ class BackendConfiguration: supported_advice: list[AdviceCategory], supported_systems: list[System] | None, backend_type: BackendType, + installation: Installation | None, ) -> None: """Set up basic information about the backend.""" self.supported_advice = supported_advice self.supported_systems = supported_systems self.type = backend_type + self.installation = installation def __str__(self) -> str: """List supported advice.""" diff --git a/src/mlia/backend/corstone/__init__.py b/src/mlia/backend/corstone/__init__.py index 5aa688b..7575ceb 100644 --- a/src/mlia/backend/corstone/__init__.py +++ b/src/mlia/backend/corstone/__init__.py @@ -4,19 +4,26 @@ from mlia.backend.config import BackendConfiguration from mlia.backend.config import BackendType from mlia.backend.config import System +from mlia.backend.corstone.install import get_corstone_300_installation +from mlia.backend.corstone.install import get_corstone_310_installation from mlia.backend.registry import registry from mlia.core.common import AdviceCategory # List of mutually exclusive Corstone backends ordered by priority -CORSTONE_PRIORITY = ("Corstone-310", "Corstone-300") +CORSTONE_PRIORITY = { + "Corstone-310": get_corstone_310_installation(), + "Corstone-300": get_corstone_300_installation(), +} -for corstone_name in CORSTONE_PRIORITY: + +for corstone_name, installation in CORSTONE_PRIORITY.items(): registry.register( corstone_name.lower(), BackendConfiguration( supported_advice=[AdviceCategory.PERFORMANCE, AdviceCategory.OPTIMIZATION], supported_systems=[System.LINUX_AMD64], backend_type=BackendType.CUSTOM, + installation=installation, ), pretty_name=corstone_name, ) diff --git a/src/mlia/backend/manager.py b/src/mlia/backend/manager.py index d953b2d..5a60f95 100644 --- a/src/mlia/backend/manager.py +++ b/src/mlia/backend/manager.py @@ -10,13 +10,11 @@ from pathlib import Path from typing import Callable from mlia.backend.config import BackendType -from mlia.backend.corstone.install import get_corstone_installations from mlia.backend.install import DownloadAndInstall from mlia.backend.install import Installation from mlia.backend.install import InstallationType from mlia.backend.install import InstallFromPath from mlia.backend.registry import registry as backend_registry -from mlia.backend.tosa_checker.install import get_tosa_backend_installation from mlia.core.errors import ConfigurationError from mlia.core.errors import InternalError from mlia.utils.misc import yes @@ -277,9 +275,9 @@ class DefaultInstallationManager(InstallationManager, InstallationFiltersMixin): def get_installation_manager(noninteractive: bool = False) -> InstallationManager: """Return installation manager.""" - backends = get_corstone_installations() - backends.append(get_tosa_backend_installation()) - + backends = [ + cfg.installation for cfg in backend_registry.items.values() if cfg.installation + ] return DefaultInstallationManager(backends, noninteractive=noninteractive) diff --git a/src/mlia/backend/tosa_checker/__init__.py b/src/mlia/backend/tosa_checker/__init__.py index d2364cb..08e44d4 100644 --- a/src/mlia/backend/tosa_checker/__init__.py +++ b/src/mlia/backend/tosa_checker/__init__.py @@ -5,6 +5,7 @@ from mlia.backend.config import BackendConfiguration from mlia.backend.config import BackendType from mlia.backend.config import System from mlia.backend.registry import registry +from mlia.backend.tosa_checker.install import get_tosa_backend_installation from mlia.core.common import AdviceCategory registry.register( @@ -13,6 +14,7 @@ registry.register( supported_advice=[AdviceCategory.COMPATIBILITY], supported_systems=[System.LINUX_AMD64], backend_type=BackendType.WHEEL, + installation=get_tosa_backend_installation(), ), pretty_name="TOSA Checker", ) diff --git a/src/mlia/backend/vela/__init__.py b/src/mlia/backend/vela/__init__.py index 7325630..b0788b0 100644 --- a/src/mlia/backend/vela/__init__.py +++ b/src/mlia/backend/vela/__init__.py @@ -22,6 +22,7 @@ registry.register( System.WINDOWS_AARCH64, ], backend_type=BackendType.BUILTIN, + installation=None, ), pretty_name="Vela", ) |