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
diff --git a/ethosu/vela/architecture_features.py b/ethosu/vela/architecture_features.py
index 7b6c3be..18846cf 100644
--- a/ethosu/vela/architecture_features.py
+++ b/ethosu/vela/architecture_features.py
@@ -21,6 +21,7 @@
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 @@
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):