diff options
author | SiCong Li <sicong.li@arm.com> | 2022-11-09 15:57:48 +0000 |
---|---|---|
committer | SiCong Li <sicong.li@arm.com> | 2022-11-22 14:09:34 +0000 |
commit | 31df05a1870662a7288fbaeb6fbc7fc458bb5a73 (patch) | |
tree | e75a132b8b5fd21cbceec8d0aa88da893e9c4f43 /src/runtime/CL | |
parent | 73bb6b7ad80801e56633ad4ea12b0404b586a979 (diff) | |
download | ComputeLibrary-31df05a1870662a7288fbaeb6fbc7fc458bb5a73.tar.gz |
Remove dynamic fusion prototype with tests and examples
Public headers of the new experimental dynamic fusion can be found in arm_compute/dynamic_fusion/
New examples on how to use the interface can be found in tests/validation/dynamic_fusion/gpu/Integration.cpp
Resolves COMPMID-5683
Change-Id: I7ccb902a227fb487562df15fc3c30118d1d95bbd
Signed-off-by: SiCong Li <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8671
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/CL')
-rw-r--r-- | src/runtime/CL/CLScheduler.cpp | 41 | ||||
-rw-r--r-- | src/runtime/CL/CLTuner.cpp | 32 |
2 files changed, 0 insertions, 73 deletions
diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp index 8d30c05361..49fb724cdb 100644 --- a/src/runtime/CL/CLScheduler.cpp +++ b/src/runtime/CL/CLScheduler.cpp @@ -27,10 +27,6 @@ #include "arm_compute/runtime/CL/CLTuner.h" #include "src/core/CL/ICLKernel.h" -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) -#include "src/gpu/cl/kernels/experimental/dynamic_fusion/ClCompositeKernel.h" -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - namespace arm_compute { cl::Context &CLScheduler::context() @@ -190,34 +186,6 @@ void CLScheduler::enqueue_common(ICLKernel &kernel, ITensorPack &tensors, bool f flush_queue(flush); } -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - -void CLScheduler::enqueue_common(ICLKernel &kernel, ITensorPack &tensors, const experimental::dynamic_fusion::ClExecutionDescriptor &exec_desc, bool flush) -{ - ARM_COMPUTE_ERROR_ON_MSG(!_is_initialised, - "The CLScheduler is not initialised yet! Please call the CLScheduler::get().default_init(), \ - or CLScheduler::get()::init() and CLKernelLibrary::get()::init() function before running functions!"); - - // ClCompositeKernel is stateless thus alway requires memory injection - - // Tune the kernel if the CLTuner has been provided - if(_cl_tuner != nullptr) - { - _cl_tuner->tune_kernel_dynamic(kernel, tensors, exec_desc); - } - - // Run kernel - kernel.run_composite_op(tensors, kernel.window(), _queue, exec_desc); - if(_job_chaining_enabled) - { - ++_job_chaining_count; - } - - flush_queue(flush); -} - -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - void CLScheduler::flush_queue(bool flush) { if(_job_chaining_enabled) @@ -245,15 +213,6 @@ void CLScheduler::enqueue_op(ICLKernel &kernel, ITensorPack &tensors, bool flush enqueue_common(kernel, tensors, flush); } -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - -void CLScheduler::enqueue_op(ICLKernel &kernel, ITensorPack &tensors, const experimental::dynamic_fusion::ClExecutionDescriptor &exec_desc, bool flush) -{ - enqueue_common(kernel, tensors, exec_desc, flush); -} - -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - void CLScheduler::enable_job_chaining(int job_chaining_size) { _job_chaining_enabled = true; diff --git a/src/runtime/CL/CLTuner.cpp b/src/runtime/CL/CLTuner.cpp index 8ce5177847..1cc20f0c1e 100644 --- a/src/runtime/CL/CLTuner.cpp +++ b/src/runtime/CL/CLTuner.cpp @@ -28,9 +28,6 @@ #include "arm_compute/runtime/CL/CLScheduler.h" #include "src/core/CL/ICLKernel.h" #include "support/StringSupport.h" -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) -#include "src/gpu/cl/kernels/experimental/dynamic_fusion/ClCompositeKernel.h" -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) #include <cerrno> #include <fstream> @@ -65,26 +62,6 @@ private: ITensorPack &_tensors; }; -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) -struct CompositeKernelData : public CLTuner::IKernelData -{ - CompositeKernelData(ITensorPack &tensors, const experimental::dynamic_fusion::ClExecutionDescriptor &exec_desc) - : _tensors{ tensors }, _exec_desc{ exec_desc } - { - } - ~CompositeKernelData() override = default; - void do_run(ICLKernel &kernel, cl::CommandQueue &queue) override - { - // ClCompositeKernel is purely stateless, and thus always requires memory injection - kernel.run_composite_op(_tensors, kernel.window(), queue, _exec_desc); - } - -private: - ITensorPack &_tensors; - const experimental::dynamic_fusion::ClExecutionDescriptor &_exec_desc; -}; -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - bool CLTuner::kernel_event_is_set() const { return _kernel_event() != nullptr; @@ -165,15 +142,6 @@ void CLTuner::tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors) do_tune_kernel_dynamic(kernel, &data); } -#if defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) -void CLTuner::tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors, const experimental::dynamic_fusion::ClExecutionDescriptor &exec_desc) -{ - CompositeKernelData data{ tensors, exec_desc }; - - do_tune_kernel_dynamic(kernel, &data); -} -#endif // defined(ENABLE_EXPERIMENTAL_DYNAMIC_FUSION) - void CLTuner::add_tuning_params(const std::string &kernel_id, CLTuningParams optimal_tuning_params) { _tuning_params_table.emplace(kernel_id, optimal_tuning_params); |