diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2020-11-11 18:01:48 +0000 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2020-11-12 11:35:11 +0000 |
commit | 4189cc5ca4bb12e02c5e7f86ec6079f76d845b59 (patch) | |
tree | bb5426804692e11abf000ffe9c64f7d95e104beb /delegate/include | |
parent | 8081536d24291794b4e189e6d5532d913a4525cb (diff) | |
download | armnn-4189cc5ca4bb12e02c5e7f86ec6079f76d845b59.tar.gz |
IVGCVSW-5504 'TfLiteDelegate: Introduce FP16 and BackendOptions'
* Added BackendOptions creations of armnn_delegate
* Included armnn/third-party the armnn_delegate unit tests
* Updated the CreateConstTensor function
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I8e2099a465766b905bff701413307e5850b68e42
Diffstat (limited to 'delegate/include')
-rw-r--r-- | delegate/include/DelegateOptions.hpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/delegate/include/DelegateOptions.hpp b/delegate/include/DelegateOptions.hpp index 0c8173d15f..daf20150be 100644 --- a/delegate/include/DelegateOptions.hpp +++ b/delegate/include/DelegateOptions.hpp @@ -17,19 +17,41 @@ namespace armnnDelegate class DelegateOptions { public: - DelegateOptions(armnn::Compute computeDevice); + DelegateOptions(armnn::Compute computeDevice, const std::vector<armnn::BackendOptions>& backendOptions = {}); - DelegateOptions(const std::vector<armnn::BackendId>& backends); + DelegateOptions(const std::vector<armnn::BackendId>& backends, + const std::vector<armnn::BackendOptions>& backendOptions = {}); const std::vector<armnn::BackendId>& GetBackends() const { return m_Backends; } void SetBackends(const std::vector<armnn::BackendId>& backends) { m_Backends = backends; } + const std::vector<armnn::BackendOptions>& GetBackendOptions() const { return m_BackendOptions; } + private: /// Which backend to run Delegate on. /// Examples of possible values are: CpuRef, CpuAcc, GpuAcc. /// CpuRef as default. std::vector<armnn::BackendId> m_Backends = { armnn::Compute::CpuRef }; + + /// Pass backend specific options to Delegate + /// + /// For example, tuning can be enabled on GpuAcc like below + /// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /// m_BackendOptions.emplace_back( + /// BackendOptions{"GpuAcc", + /// { + /// {"TuningLevel", 2}, + /// {"TuningFile", filename} + /// } + /// }); + /// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /// The following backend options are available: + /// GpuAcc: + /// "TuningLevel" : int [0..3] (0=UseOnly(default) | 1=RapidTuning | 2=NormalTuning | 3=ExhaustiveTuning) + /// "TuningFile" : string [filenameString] + /// "KernelProfilingEnabled" : bool [true | false] + std::vector<armnn::BackendOptions> m_BackendOptions; }; } // namespace armnnDelegate |