23.08
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H
25 #define ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H
54 template <
typename TypeInput,
typename TypeOutput>
61 : _kernel(nullptr), _name(
"CpuGemmAssemblyWrapperKernel")
69 const char *
name()
const override
83 _kernel->
execute(win, thread_locator,
info.thread_id);
111 INEKernel::configure(win);
113 if(!kernel_name_tag.empty())
115 _name +=
"/" + kernel_name_tag;
virtual void execute(const ndcoord_t &work_range, const ndcoord_t &thread_locator, int threadid)=0
Main execute member fucntion.
CpuGemmAssemblyWrapperKernel()
Constructor.
size_t get_mws(const CPUInfo &platform, size_t thread_count) const override
Return minimum workload size of the relevant kernel.
ndcoord_t to_ndcoord(const arm_compute::Window &win)
Convert an arm_compute::Window to an arm_gemm::NDCoord of the same max dimensions.
NDCoordinate builds upon a range, but specifies a starting position in addition to a size which it in...
#define ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(k)
void run(const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
arm_compute::Window to_window(const ndrange_t &ndr)
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
void run_nd(const Window &window, const ThreadInfo &info, const Window &thread_locator) override
legacy compatibility layer for implemantions which do not support thread_locator In these cases we si...
CpuGemmAssemblyWrapperKernel & operator=(CpuGemmAssemblyWrapperKernel &)=delete
const char * name() const override
Name of the kernel.
Common interface for all kernels implemented in C++.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
const Window & window() const
The maximum window the kernel can be executed on.
Information about executing thread and CPU.
Describe a multidimensional execution window.
This class is a wrapper for the assembly kernels.
void configure(arm_gemm::GemmCommon< TypeInput, TypeOutput > *kernel, std::string kernel_name_tag)
Initialise the kernel's input and output.
Copyright (c) 2017-2023 Arm Limited.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
virtual ndrange_t get_window_size() const =0
static constexpr size_t default_mws