From 9a8c672dd6eb21448fbfb4b636104323d128de88 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Wed, 21 Mar 2018 17:52:35 +0000 Subject: COMPMID-1011: Create struct for the graph config parameters Change-Id: I9c164a817c0cc5f264a5c71a59256dacc6314cb0 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125456 Tested-by: Jenkins Reviewed-by: Anthony Barbier --- src/graph2/GraphContext.cpp | 20 +++++--------------- src/graph2/backends/CL/CLDeviceBackend.cpp | 2 +- src/graph2/backends/NEON/NEDeviceBackend.cpp | 5 +++++ src/graph2/frontend/Stream.cpp | 5 ++--- 4 files changed, 13 insertions(+), 19 deletions(-) (limited to 'src/graph2') 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); } -- cgit v1.2.1