aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/architecture_features.py
diff options
context:
space:
mode:
authorLouis Verhaard <louis.verhaard@arm.com>2020-11-02 18:04:27 +0100
committerLouis Verhaard <louis.verhaard@arm.com>2020-11-23 13:39:35 +0100
commitaeae56770f3c19182d32cc63fd32396e061a7648 (patch)
tree95ca2e6c90d81ba8910c8ca9ced68ffa132b7dab /ethosu/vela/architecture_features.py
parent27d36f003d35413beb51c1de8f33259ddeca7543 (diff)
downloadethos-u-vela-aeae56770f3c19182d32cc63fd32396e061a7648.tar.gz
MLBEDSW-3424: Expose API through separate file
All external APIs are now exposed by api.py. Signed-off-by: Louis Verhaard <louis.verhaard@arm.com> Change-Id: I33f480e424692ac30e9c7d791f583199f31164a7
Diffstat (limited to 'ethosu/vela/architecture_features.py')
-rw-r--r--ethosu/vela/architecture_features.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/ethosu/vela/architecture_features.py b/ethosu/vela/architecture_features.py
index 7b6c3bed..18846cfd 100644
--- a/ethosu/vela/architecture_features.py
+++ b/ethosu/vela/architecture_features.py
@@ -21,6 +21,7 @@ from configparser import ConfigParser
import numpy as np
+from .api import NpuAccelerator
from .errors import CliOptionError
from .errors import ConfigOptionError
from .ethos_u55_regs.ethos_u55_regs import resampling_mode
@@ -131,6 +132,20 @@ class Accelerator(enum.Enum):
def member_list(cls):
return [e.value for e in cls]
+ @classmethod
+ def from_npu_accelerator(cls, npu_accelerator: NpuAccelerator) -> "Accelerator":
+ """Converts the given public API object to Accelerator (used internally)"""
+ accelerator_map = {
+ NpuAccelerator.Ethos_U55_32: cls.Ethos_U55_32,
+ NpuAccelerator.Ethos_U55_64: cls.Ethos_U55_64,
+ NpuAccelerator.Ethos_U55_128: cls.Ethos_U55_128,
+ NpuAccelerator.Ethos_U55_256: cls.Ethos_U55_256,
+ NpuAccelerator.Ethos_U65_256: cls.Ethos_U65_256,
+ NpuAccelerator.Ethos_U65_512: cls.Ethos_U65_512,
+ }
+ assert npu_accelerator in accelerator_map, f"Unsupported accelerator {npu_accelerator}"
+ return accelerator_map[npu_accelerator]
+
@enum.unique
class MemPort(enum.Enum):