aboutsummaryrefslogtreecommitdiff
path: root/delegate/include
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-11-11 18:01:48 +0000
committerSadik Armagan <sadik.armagan@arm.com>2020-11-12 11:35:11 +0000
commit4189cc5ca4bb12e02c5e7f86ec6079f76d845b59 (patch)
treebb5426804692e11abf000ffe9c64f7d95e104beb /delegate/include
parent8081536d24291794b4e189e6d5532d913a4525cb (diff)
downloadarmnn-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.hpp26
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