aboutsummaryrefslogtreecommitdiff
path: root/delegate/src
diff options
context:
space:
mode:
Diffstat (limited to 'delegate/src')
-rw-r--r--delegate/src/DelegateOptions.cpp10
-rw-r--r--delegate/src/armnn_delegate.cpp16
-rw-r--r--delegate/src/armnn_external_delegate.cpp16
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);