aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-03-21 17:52:35 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:49:16 +0000
commit9a8c672dd6eb21448fbfb4b636104323d128de88 (patch)
tree345615b62b3941f2c2db442758fcc12269137156 /src
parent36a559e49a3d5b832b1cffd47f2298f452616bb9 (diff)
downloadComputeLibrary-9a8c672dd6eb21448fbfb4b636104323d128de88.tar.gz
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 <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src')
-rw-r--r--src/graph2/GraphContext.cpp20
-rw-r--r--src/graph2/backends/CL/CLDeviceBackend.cpp2
-rw-r--r--src/graph2/backends/NEON/NEDeviceBackend.cpp5
-rw-r--r--src/graph2/frontend/Stream.cpp5
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);
}