24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_CPU_DEPTHWISE_CONV2D_ASSEMBLY_WRAPPER_KERNEL_H
25 #define ARM_COMPUTE_CPU_DEPTHWISE_CONV2D_ASSEMBLY_WRAPPER_KERNEL_H
38 class IDepthwiseCommon;
44 struct ConvolutionInfo;
91 const char *
name()
const override;
102 void *parameters_ptr,
void *bias_ptr,
void *weights_ptr,
size_t ld_weights_col,
size_t ld_weights_row);
131 size_t get_mws(
const CPUInfo &platform,
size_t thread_count)
const override;
134 std::unique_ptr<arm_conv::depthwise::IDepthwiseCommon> _kernel_asm;
135 std::vector<int32_t> _multipliers{};
136 std::vector<int32_t> _left_shifts{};
137 std::vector<int32_t> _right_shifts{};
template UniqueDepthwiseCommon< float > depthwise(const DepthwiseArgs &, const Nothing &)
SimpleTensor< float > src
size_t get_working_size(unsigned int num_threads) const
Get size of the workspace needed by the assembly kernel.
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.
~CpuDepthwiseConv2dAssemblyWrapperKernel()
CpuDepthwiseConv2dAssemblyWrapperKernel()
Default constructor.
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuDepthwiseConv2dAssemblyWrapperKernel)
const char * name() const override
Name of the kernel.
void configure(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *bias, ITensorInfo *dst, const ConvolutionInfo &info, const CPUInfo &cpu_info)
Initialise the kernel's src and dst.
size_t get_storage_size() const
Get the amount of storage space required for the rearranged weights and bias.
bool is_configured() const
Was the asm kernel successfully configured?
static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *bias, const ITensorInfo *dst, const ConvolutionInfo &info)
Indicates whether or not this function can be used to process the given parameters.
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.
void pack_parameters(void *parameters_ptr, void *bias_ptr, void *weights_ptr, size_t ld_weights_col, size_t ld_weights_row)
Pack bias and weights in a storage space for the assembly kernel.
This class is a wrapper for the depthwise convolution assembly kernels.
Store the tensor's metadata.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)