diff options
Diffstat (limited to 'delegate/src')
-rw-r--r-- | delegate/src/DelegateOptions.cpp | 10 | ||||
-rw-r--r-- | delegate/src/armnn_delegate.cpp | 16 | ||||
-rw-r--r-- | delegate/src/armnn_external_delegate.cpp | 16 |
3 files changed, 17 insertions, 25 deletions
diff --git a/delegate/src/DelegateOptions.cpp b/delegate/src/DelegateOptions.cpp index d4d906a83a..c19697d6c6 100644 --- a/delegate/src/DelegateOptions.cpp +++ b/delegate/src/DelegateOptions.cpp @@ -11,15 +11,17 @@ namespace armnnDelegate DelegateOptions::DelegateOptions(armnn::Compute computeDevice, const std::vector<armnn::BackendOptions>& backendOptions, const armnn::Optional<armnn::LogSeverity> logSeverityLevel) - : m_Backends({computeDevice}), m_BackendOptions(backendOptions), m_LoggingSeverity(logSeverityLevel) + : m_Backends({computeDevice}), m_RuntimeOptions(), m_LoggingSeverity(logSeverityLevel) { + m_RuntimeOptions.m_BackendOptions = backendOptions; } DelegateOptions::DelegateOptions(const std::vector<armnn::BackendId>& backends, const std::vector<armnn::BackendOptions>& backendOptions, const armnn::Optional<armnn::LogSeverity> logSeverityLevel) - : m_Backends(backends), m_BackendOptions(backendOptions), m_LoggingSeverity(logSeverityLevel) + : m_Backends(backends), m_RuntimeOptions(), m_LoggingSeverity(logSeverityLevel) { + m_RuntimeOptions.m_BackendOptions = backendOptions; } DelegateOptions::DelegateOptions(armnn::Compute computeDevice, @@ -27,7 +29,7 @@ DelegateOptions::DelegateOptions(armnn::Compute computeDevice, const armnn::Optional<armnn::LogSeverity>& logSeverityLevel, const armnn::Optional<armnn::DebugCallbackFunction>& func) : m_Backends({computeDevice}), - m_BackendOptions({}), + m_RuntimeOptions(), m_OptimizerOptions(optimizerOptions), m_LoggingSeverity(logSeverityLevel), m_DebugCallbackFunc(func) @@ -39,7 +41,7 @@ DelegateOptions::DelegateOptions(const std::vector<armnn::BackendId>& backends, const armnn::Optional<armnn::LogSeverity>& logSeverityLevel, const armnn::Optional<armnn::DebugCallbackFunction>& func) : m_Backends(backends), - m_BackendOptions({}), + m_RuntimeOptions(), m_OptimizerOptions(optimizerOptions), m_LoggingSeverity(logSeverityLevel), m_DebugCallbackFunc(func) diff --git a/delegate/src/armnn_delegate.cpp b/delegate/src/armnn_delegate.cpp index ae25430e0d..966d17ca98 100644 --- a/delegate/src/armnn_delegate.cpp +++ b/delegate/src/armnn_delegate.cpp @@ -137,21 +137,7 @@ Delegate::Delegate(armnnDelegate::DelegateOptions options) } // Create ArmNN Runtime - armnn::IRuntime::CreationOptions runtimeOptions; - runtimeOptions.m_DynamicBackendsPath = m_Options.GetDynamicBackendsPath(); - runtimeOptions.m_EnableGpuProfiling = m_Options.GetGpuProfilingState(); - runtimeOptions.m_ProfilingOptions = m_Options.GetExternalProfilingParams(); - - auto backendOptions = m_Options.GetBackendOptions(); - if (!backendOptions.empty()) - { - runtimeOptions.m_BackendOptions = backendOptions; - } - else if (!m_Options.GetOptimizerOptions().m_ModelOptions.empty()) - { - runtimeOptions.m_BackendOptions = m_Options.GetOptimizerOptions().m_ModelOptions; - } - m_Runtime = armnn::IRuntime::Create(runtimeOptions); + m_Runtime = armnn::IRuntime::Create(options.GetRuntimeOptions()); std::vector<armnn::BackendId> backends; if (m_Runtime) diff --git a/delegate/src/armnn_external_delegate.cpp b/delegate/src/armnn_external_delegate.cpp index 4f583e80d4..5919a6c5ab 100644 --- a/delegate/src/armnn_external_delegate.cpp +++ b/delegate/src/armnn_external_delegate.cpp @@ -171,6 +171,8 @@ TfLiteDelegate* tflite_plugin_create_delegate(char** options_keys, { // (Initializes with CpuRef backend) armnnDelegate::DelegateOptions options = armnnDelegate::TfLiteArmnnDelegateOptionsDefault(); + + armnn::IRuntime::CreationOptions runtimeOptions; armnn::OptimizerOptions optimizerOptions; bool internalProfilingState = false; armnn::ProfilingDetailsMethod internalProfilingDetail = armnn::ProfilingDetailsMethod::DetailsWithEvents; @@ -194,7 +196,7 @@ TfLiteDelegate* tflite_plugin_create_delegate(char** options_keys, // Process dynamic-backends-path else if (std::string(options_keys[i]) == std::string("dynamic-backends-path")) { - options.SetDynamicBackendsPath(std::string(options_values[i])); + runtimeOptions.m_DynamicBackendsPath = std::string(options_values[i]); } // Process logging level else if (std::string(options_keys[i]) == std::string("logging-severity")) @@ -205,26 +207,26 @@ TfLiteDelegate* tflite_plugin_create_delegate(char** options_keys, else if (std::string(options_keys[i]) == std::string("gpu-tuning-level")) { armnn::BackendOptions option("GpuAcc", {{"TuningLevel", atoi(options_values[i])}}); - options.AddBackendOption(option); + runtimeOptions.m_BackendOptions.push_back(option); } else if (std::string(options_keys[i]) == std::string("gpu-mlgo-tuning-file")) { armnn::BackendOptions option("GpuAcc", {{"MLGOTuningFilePath", std::string(options_values[i])}}); - options.AddBackendOption(option); + optimizerOptions.m_ModelOptions.push_back(option); } else if (std::string(options_keys[i]) == std::string("gpu-tuning-file")) { armnn::BackendOptions option("GpuAcc", {{"TuningFile", std::string(options_values[i])}}); - options.AddBackendOption(option); + runtimeOptions.m_BackendOptions.push_back(option); } else if (std::string(options_keys[i]) == std::string("gpu-enable-profiling")) { - options.SetGpuProfilingState(*options_values[i] != '0'); + runtimeOptions.m_EnableGpuProfiling = (*options_values[i] != '0'); } else if (std::string(options_keys[i]) == std::string("gpu-kernel-profiling-enabled")) { armnn::BackendOptions option("GpuAcc", {{"KernelProfilingEnabled", (*options_values[i] != '0')}}); - options.AddBackendOption(option); + runtimeOptions.m_BackendOptions.push_back(option); } else if (std::string(options_keys[i]) == std::string("save-cached-network")) { @@ -340,6 +342,8 @@ TfLiteDelegate* tflite_plugin_create_delegate(char** options_keys, throw armnn::Exception("Unknown option for the ArmNN Delegate given: " + std::string(options_keys[i])); } } + + options.SetRuntimeOptions(runtimeOptions); options.SetOptimizerOptions(optimizerOptions); options.SetInternalProfilingParams(internalProfilingState, internalProfilingDetail); options.SetExternalProfilingParams(extProfilingParams); |