24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_CPU_MUL_KERNEL_H
25 #define ARM_COMPUTE_CPU_MUL_KERNEL_H
93 const char *
name()
const override;
102 size_t get_mws(
const CPUInfo &platform,
size_t thread_count)
const override;
110 return _split_dimension;
122 using MulFunctionInt =
132 using MulFunctionFloat =
143 using MulFunctionQuantized =
146 MulFunctionFloat *_func_float{
nullptr};
147 MulFunctionInt *_func_int{
nullptr};
148 MulFunctionQuantized *_func_quantized{
nullptr};
150 int _scale_exponent{0};
177 const char *
name()
const override;
const char * name() const override
Name of the kernel.
Interface for the complex pixelwise multiplication kernel.
size_t get_split_dimension_hint() const
Get the preferred dimension in which the scheduler splits the work into multiple jobs.
static Status validate(const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy)
Static function to check if given info will lead to a valid configuration.
void configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst)
Initialise the kernel's src, dst and border mode.
Interface for CPU tensor.
void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
RoundingPolicy
Rounding method.
const char * name() const override
Name of the kernel.
CpuComplexMulKernel()=default
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
void configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy)
Initialise the kernel's input, dst and border mode.
const Window & window() const
The maximum window the kernel can be executed on.
Information about executing thread and CPU.
Describe a multidimensional execution window.
Copyright (c) 2017-2024 Arm Limited.
ConvertPolicy
Policy to handle integer overflow.
Interface for the kernel to perform multiplication between two tensors.
Store the tensor's metadata.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
static Status validate(const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst)
Static function to check if given info will lead to a valid configuration.
void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
size_t get_mws(const CPUInfo &platform, size_t thread_count) const override
Return minimum workload size of the relevant kernel.
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuComplexMulKernel)
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuMulKernel)