diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/graph2/GraphContext.cpp | 20 | ||||
-rw-r--r-- | src/graph2/backends/CL/CLDeviceBackend.cpp | 2 | ||||
-rw-r--r-- | src/graph2/backends/NEON/NEDeviceBackend.cpp | 5 | ||||
-rw-r--r-- | src/graph2/frontend/Stream.cpp | 5 |
4 files changed, 13 insertions, 19 deletions
diff --git a/src/graph2/GraphContext.cpp b/src/graph2/GraphContext.cpp index 88fc5216a4..08a7b68dce 100644 --- a/src/graph2/GraphContext.cpp +++ b/src/graph2/GraphContext.cpp @@ -29,28 +29,18 @@ namespace arm_compute namespace graph2 { GraphContext::GraphContext() - : _tunable(false), _memory_managed(false), _memory_managers() + : _config(), _memory_managers() { } -void GraphContext::enable_tuning(bool enable_tuning) +const GraphConfig &GraphContext::config() const { - _tunable = enable_tuning; + return _config; } -bool GraphContext::is_tuning_enabled() const +void GraphContext::set_config(const GraphConfig &config) { - return _tunable; -} - -void GraphContext::enable_memory_managenent(bool enable_mm) -{ - _memory_managed = enable_mm; -} - -bool GraphContext::is_memory_management_enabled() -{ - return _memory_managed; + _config = config; } bool GraphContext::insert_memory_management_ctx(MemoryManagerContext &&memory_ctx) diff --git a/src/graph2/backends/CL/CLDeviceBackend.cpp b/src/graph2/backends/CL/CLDeviceBackend.cpp index 6d2d4f9b1a..71566d2f1f 100644 --- a/src/graph2/backends/CL/CLDeviceBackend.cpp +++ b/src/graph2/backends/CL/CLDeviceBackend.cpp @@ -101,7 +101,7 @@ void CLDeviceBackend::initialize_backend() void CLDeviceBackend::setup_backend_context(GraphContext &ctx) { // Setup tuner - set_kernel_tuning(ctx.is_tuning_enabled()); + set_kernel_tuning(ctx.config().use_tuner); // Setup a management backend if(ctx.memory_management_ctx(Target::CL) == nullptr) diff --git a/src/graph2/backends/NEON/NEDeviceBackend.cpp b/src/graph2/backends/NEON/NEDeviceBackend.cpp index 9010c5d802..6cb507b4f1 100644 --- a/src/graph2/backends/NEON/NEDeviceBackend.cpp +++ b/src/graph2/backends/NEON/NEDeviceBackend.cpp @@ -40,6 +40,7 @@ #include "arm_compute/runtime/MemoryManagerOnDemand.h" #include "arm_compute/runtime/OffsetLifetimeManager.h" #include "arm_compute/runtime/PoolManager.h" +#include "arm_compute/runtime/Scheduler.h" #include "support/ToolchainSupport.h" @@ -63,6 +64,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); + + // Create function level memory manager if(ctx.memory_management_ctx(Target::NEON) == nullptr) { MemoryManagerContext mm_ctx; diff --git a/src/graph2/frontend/Stream.cpp b/src/graph2/frontend/Stream.cpp index 076b9ac11f..3386d6547f 100644 --- a/src/graph2/frontend/Stream.cpp +++ b/src/graph2/frontend/Stream.cpp @@ -37,11 +37,10 @@ Stream::Stream(size_t id, std::string name) { } -void Stream::finalize(Target target, bool enable_tuning, bool enable_memory_management) +void Stream::finalize(Target target, const GraphConfig &config) { PassManager pm = create_default_pass_manager(); - _ctx.enable_tuning(enable_tuning); - _ctx.enable_memory_managenent(enable_memory_management); + _ctx.set_config(config); _manager.finalize_graph(_g, _ctx, pm, target); } |