diff options
author | Pablo Tello <pablo.tello@arm.com> | 2019-09-24 11:03:47 +0100 |
---|---|---|
committer | Pablo Marquez <pablo.tello@arm.com> | 2019-10-15 14:05:55 +0000 |
commit | db8485ac24135f17e9882c76196924435abc064f (patch) | |
tree | dfe4ff6a50012ac93c6b1cf3fb29c099a7592522 /tests/main.cpp | |
parent | a046e164b96a8441b2fa14ef578f7db46a0e97da (diff) | |
download | ComputeLibrary-db8485ac24135f17e9882c76196924435abc064f.tar.gz |
COMPMID-2205: CL runtime context.
CL Interfaces implemented.
Concrete classes implemented.
One test (ActivationLayer) ported to the new interface.
Change-Id: I283808bec36ccfc2f13fe048c45cbbee698ce525
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1998
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/main.cpp')
-rw-r--r-- | tests/main.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/tests/main.cpp b/tests/main.cpp index 01741939a0..415dba0405 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -23,11 +23,11 @@ */ #include "support/ToolchainSupport.h" #include "tests/AssetsLibrary.h" -#include "tests/ParametersLibrary.h" #include "tests/framework/DatasetModes.h" #include "tests/framework/Exceptions.h" #include "tests/framework/Framework.h" #include "tests/framework/Macros.h" +#include "tests/framework/ParametersLibrary.h" #include "tests/framework/Profiler.h" #include "tests/framework/command_line/CommonOptions.h" #include "tests/framework/instruments/Instruments.h" @@ -74,8 +74,8 @@ namespace arm_compute { namespace test { -std::unique_ptr<AssetsLibrary> library; -std::unique_ptr<ParametersLibrary> parameters; +std::unique_ptr<AssetsLibrary> library; +extern std::unique_ptr<ParametersLibrary> parameters; } // namespace test } // namespace arm_compute @@ -92,17 +92,6 @@ bool file_exists(const std::string &filename) int main(int argc, char **argv) { -#ifdef ARM_COMPUTE_CL - CLTuner cl_tuner(false); - if(opencl_is_available()) - { - auto ctx_dev_err = create_opencl_context_and_device(); - ARM_COMPUTE_ERROR_ON_MSG(std::get<2>(ctx_dev_err) != CL_SUCCESS, "Failed to create OpenCL context"); - CLScheduler::get() - .default_init_with_context(std::get<1>(ctx_dev_err), std::get<0>(ctx_dev_err), &cl_tuner); - } -#endif /* ARM_COMPUTE_CL */ - #ifdef ARM_COMPUTE_GC GCScheduler::get().default_init(); #endif /* ARM_COMPUTE_GC */ @@ -185,6 +174,20 @@ int main(int argc, char **argv) parameters->set_cpu_ctx(std::move(cpu_ctx)); #ifdef ARM_COMPUTE_CL + CLTuner cl_tuner(false); + // Create GPU context + auto cl_ctx = support::cpp14::make_unique<CLRuntimeContext>(); + assert(cl_ctx != nullptr); + CLScheduler *gpu_scheduler = cl_ctx->gpu_scheduler(); + assert(gpu_scheduler != nullptr); + const auto device_version = cl_ctx->kernel_library().get_device_version(); + { + // Legacy singletons API: This has been deprecated and the singletons will be removed + // Setup singleton for backward compatibility + CLScheduler::get().init(gpu_scheduler->context(), gpu_scheduler->queue(), cl_ctx->kernel_library().get_device(), &cl_tuner); + } + parameters->set_gpu_ctx(std::move(cl_ctx)); + if(enable_tuner->is_set()) { cl_tuner.set_tune_new_kernels(enable_tuner->value()); @@ -222,7 +225,7 @@ int main(int argc, char **argv) #ifdef ARM_COMPUTE_CL if(opencl_is_available()) { - p->print_entry("CL_DEVICE_VERSION", CLKernelLibrary::get().get_device_version()); + p->print_entry("CL_DEVICE_VERSION", device_version); } else { |