24 #ifndef ARM_COMPUTE_TEST_CL_HELPER_H 25 #define ARM_COMPUTE_TEST_CL_HELPER_H 50 template <
typename... Args>
53 auto k = std::make_unique<K>();
54 k->configure(std::forward<Args>(
args)...);
55 _kernel = std::move(k);
62 template <
typename... Args>
65 auto k = std::make_unique<K>();
66 k->set_target(gpu_target);
67 k->configure(std::forward<Args>(
args)...);
68 _kernel = std::move(k);
74 template <
typename... Args>
82 template <
typename K,
int bordersize>
91 template <
typename T,
typename... Args>
94 auto k = std::make_unique<K>();
95 k->configure(first, std::forward<Args>(
args)...);
96 _kernel = std::move(k);
102 template <
typename K,
int bordersize>
112 template <
typename T,
typename... Args>
115 auto k = std::make_unique<K>();
117 k->configure(first, second, std::forward<Args>(
args)...);
118 _kernel = std::move(k);
136 std::unique_ptr<ICLKernel> _kernel{};
void configure(T first, T second, Args &&... args)
Configure the kernel.
Class describing the value of a pixel for any image format.
static Status validate(Args &&... args)
Validate input arguments.
void configure(const CLCompileContext &compile_context, ICLTensor *tensor, BorderSize border_size, BorderMode border_mode, const PixelValue &constant_border_value=PixelValue())
Initialise the kernel's input, output and border mode.
Base class for all functions.
void configure(Args &&... args)
Configure the kernel.
Container for 2D border size.
static CLScheduler & get()
Access the scheduler singleton.
As above but this also initializes to zero the input tensor.
As above but this also setups a Zero border on the input tensor of the specified bordersize.
Copyright (c) 2017-2021 Arm Limited.
Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
void run() override final
Run the kernels contained in the function.
void run() override
Run the kernels contained in the function.
#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)
Basic interface for functions which have a single OpenCL kernel.
void configure(T first, Args &&... args)
Configure the kernel.
void enqueue(ICLKernel &kernel, bool flush=true)
Schedule the execution of the passed kernel if possible.
void configure(ICLTensor *tensor, const PixelValue &constant_value, Window *window=nullptr)
Initialize the kernel's tensor and filling value.
Interface for filling the border of a kernel.
GPUTarget
Available GPU Targets.
void configure(GPUTarget gpu_target, Args &&... args)
Configure the kernel setting the GPU target as well.
This template synthetizes an ICLSimpleFunction which runs the given kernel K.
Basic function to run opencl::kernels::ClFillKernel.
Status validate(const ITensorInfo *scores_in, const ITensorInfo *boxes_in, const ITensorInfo *batch_splits_in, const ITensorInfo *scores_out, const ITensorInfo *boxes_out, const ITensorInfo *classes, const ITensorInfo *batch_splits_out, const ITensorInfo *keeps, const ITensorInfo *keeps_size, const BoxNMSLimitInfo info)