diff options
-rw-r--r-- | arm_compute/graph/Types.h | 8 | ||||
-rw-r--r-- | src/graph/backends/NEON/NEDeviceBackend.cpp | 5 |
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) |