aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm_compute/graph/Types.h8
-rw-r--r--src/graph/backends/NEON/NEDeviceBackend.cpp5
2 files changed, 8 insertions, 5 deletions
diff --git a/arm_compute/graph/Types.h b/arm_compute/graph/Types.h
index 00d37a3354..35f701284b 100644
--- a/arm_compute/graph/Types.h
+++ b/arm_compute/graph/Types.h
@@ -74,10 +74,10 @@ class TensorDescriptor;
/** Graph configuration structure */
struct GraphConfig
{
- bool use_function_memory_manager{ false }; /**< Use a memory manager to manage per-funcion auxilary memory */
- bool use_transition_memory_manager{ false }; /**< Use a memory manager to manager transition buffer memory */
- bool use_tuner{ false }; /**< Use a tuner in tunable backends */
- unsigned int num_threads{ 0 }; /**< Number of threads to use (thread capable backends), if 0 the backend will auto-initialize */
+ bool use_function_memory_manager{ false }; /**< Use a memory manager to manage per-funcion auxilary memory */
+ bool use_transition_memory_manager{ false }; /**< Use a memory manager to manager transition buffer memory */
+ bool use_tuner{ false }; /**< Use a tuner in tunable backends */
+ int num_threads{ -1 }; /**< Number of threads to use (thread capable backends), if 0 the backend will auto-initialize, if -1 the backend will stay as it is. */
};
/**< Data layout format */
diff --git a/src/graph/backends/NEON/NEDeviceBackend.cpp b/src/graph/backends/NEON/NEDeviceBackend.cpp
index 87f88dffdf..aaf05829bb 100644
--- a/src/graph/backends/NEON/NEDeviceBackend.cpp
+++ b/src/graph/backends/NEON/NEDeviceBackend.cpp
@@ -65,7 +65,10 @@ void NEDeviceBackend::initialize_backend()
void NEDeviceBackend::setup_backend_context(GraphContext &ctx)
{
// Set number of threads
- Scheduler::get().set_num_threads(ctx.config().num_threads);
+ if(ctx.config().num_threads >= 0)
+ {
+ Scheduler::get().set_num_threads(ctx.config().num_threads);
+ }
// Create function level memory manager
if(ctx.memory_management_ctx(Target::NEON) == nullptr)