Compute Library
 22.05
ClSynthetizeOperatorWithBorder< K > Class Template Reference

As above but this also setups a Zero border on the input tensor of the kernel's bordersize. More...

#include <Helper.h>

Collaboration diagram for ClSynthetizeOperatorWithBorder< K >:
[legend]

Public Member Functions

template<typename T , typename... Args>
void configure (T first, Args &&... args)
 Configure the kernel. More...
 
void run (ITensorPack &tensors) override
 Run the kernels contained in the function. More...
 
- Public Member Functions inherited from ICLOperator
 ICLOperator (IRuntimeContext *ctx=nullptr)
 Constructor. More...
 
 ICLOperator (const ICLOperator &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
 ICLOperator (ICLOperator &&)=default
 Default move constructor. More...
 
ICLOperatoroperator= (const ICLOperator &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
ICLOperatoroperator= (ICLOperator &&)=default
 Default move assignment operator. More...
 
void prepare (ITensorPack &constants) override
 Prepare the function for executing. More...
 
MemoryRequirements workspace () const override
 Return the memory requirements required by the workspace. More...
 
- Public Member Functions inherited from IOperator
virtual ~IOperator ()=default
 Destructor. More...
 

Detailed Description

template<typename K>
class arm_compute::test::ClSynthetizeOperatorWithBorder< K >

As above but this also setups a Zero border on the input tensor of the kernel's bordersize.

Definition at line 224 of file Helper.h.

Member Function Documentation

◆ configure()

void configure ( first,
Args &&...  args 
)
inline

Configure the kernel.

Parameters
[in]firstFirst configuration argument.
[in]argsRest of the configuration arguments.

Definition at line 233 of file Helper.h.

References GemmTuner::args, arm_compute::test::validation::b, arm_compute::CONSTANT, CLKernelLibrary::get(), and arm_compute::test::validation::k.

234  {
235  auto k = std::make_unique<K>();
236  k->configure(CLKernelLibrary::get().get_compile_context(), first, std::forward<Args>(args)...);
237  _kernel = std::move(k);
238 
239  auto b = std::make_unique<CLFillBorderKernel>();
240  b->configure(CLKernelLibrary::get().get_compile_context(), first, BorderSize(_kernel->border_size()), BorderMode::CONSTANT, PixelValue());
241  _border_handler = std::move(b);
242  }
SimpleTensor< float > b
Definition: DFT.cpp:157
static CLKernelLibrary & get()
Access the KernelLibrary singleton.

◆ run()

void run ( ITensorPack tensors)
inlineoverridevirtual

Run the kernels contained in the function.

Parameters
[in]tensorsVector that contains the tensors to operate on.

Reimplemented from ICLOperator.

Definition at line 244 of file Helper.h.

References CLScheduler::enqueue(), CLScheduler::enqueue_op(), and CLScheduler::get().

245  {
246  CLScheduler::get().enqueue(*_border_handler);
247  CLScheduler::get().enqueue_op(*_kernel, tensors);
248  }
static CLScheduler & get()
Access the scheduler singleton.
void enqueue_op(ICLKernel &kernel, ITensorPack &tensors, bool flush=true)
Schedule the execution of the passed kernel if possible.
void enqueue(ICLKernel &kernel, bool flush=true)
Schedule the execution of the passed kernel if possible.

The documentation for this class was generated from the following file: