From aeae56770f3c19182d32cc63fd32396e061a7648 Mon Sep 17 00:00:00 2001 From: Louis Verhaard Date: Mon, 2 Nov 2020 18:04:27 +0100 Subject: MLBEDSW-3424: Expose API through separate file All external APIs are now exposed by api.py. Signed-off-by: Louis Verhaard Change-Id: I33f480e424692ac30e9c7d791f583199f31164a7 --- ethosu/vela/architecture_features.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'ethosu/vela/architecture_features.py') 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): -- cgit v1.2.1