24.02.1
|
Go to the documentation of this file.
103 const MatMulKernelInfo kernel_info = kernel_config->configure(lhs, rhs, matmul_info);
112 auto kernel = std::make_unique<ClMatMulNativeKernel>();
113 kernel->set_target(gpu_target);
115 kernel->configure(compile_context, lhs, rhs,
nullptr ,
dst, kernel_info,
act_info);
116 _matmul_kernel = std::move(kernel);
121 auto kernel = std::make_unique<ClMatMulNativeMMULKernel>();
122 kernel->set_target(gpu_target);
124 kernel->configure(compile_context, lhs, rhs,
nullptr ,
dst, kernel_info);
125 _matmul_kernel = std::move(kernel);
130 auto kernel = std::make_unique<ClMatMulLowpNativeKernel>();
131 kernel->set_target(gpu_target);
133 kernel->configure(compile_context, lhs, rhs,
nullptr ,
dst, kernel_info,
act_info);
134 _matmul_kernel = std::move(kernel);
139 auto kernel = std::make_unique<ClMatMulLowpNativeMMULKernel>();
140 kernel->set_target(gpu_target);
142 kernel->configure(compile_context, lhs, rhs,
nullptr ,
dst, kernel_info,
act_info);
143 _matmul_kernel = std::move(kernel);
@ NATIVE_QUANTIZED
Native matrix multiplication for quantized types.
@ QASYMM8
quantized, asymmetric fixed-point 8-bit number unsigned
@ NATIVE_MMUL_QUANTIZED
Native matrix multiplication using MMUL extension for Quantized types.
#define ARM_COMPUTE_ERROR(msg)
Print the given message then throw an std::runtime_error.
static std::unique_ptr< IClMatMulNativeKernelVariant > create(GPUTarget gpu)
Static method to call the ClMatMul configuration class accordingly with the GPU target.
#define ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(t, c,...)
Activation Layer Information class.
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
#define ARM_COMPUTE_ERROR_THROW_ON(status)
@ QASYMM8_SIGNED
quantized, asymmetric fixed-point 8-bit number signed
static Status validate(const ITensorInfo *lhs, const ITensorInfo *rhs, const ITensorInfo *bias, const ITensorInfo *dst, const MatMulKernelInfo &matmul_kernel_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.
static Status validate(const ITensorInfo *lhs, const ITensorInfo *rhs, const ITensorInfo *bias, const ITensorInfo *dst, const MatMulKernelInfo &matmul_kernel_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.
Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
static std::unique_ptr< IClMatMulNativeKernelConfig > create(GPUTarget gpu)
Static method to call the ClMatMul configuration class accordingly with the GPU target.
@ NATIVE_FP
Native matrix multiplication for FP types.
@ NATIVE_MMUL_FP
Native matrix multiplication using MMUL extension for FP types.
static CLScheduler & get()
Access the scheduler singleton.
GPUTarget target() const
Get the target GPU.
GPUTarget
Available GPU Targets.
void configure(const CLCompileContext &compile_context, ITensorInfo *lhs, ITensorInfo *rhs, ITensorInfo *dst, const MatMulInfo &matmul_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Initialise the kernel's inputs and output.
Copyright (c) 2017-2024 Arm Limited.
static Status validate(const ITensorInfo *lhs, const ITensorInfo *rhs, const ITensorInfo *bias, const ITensorInfo *dst, const MatMulKernelInfo &matmul_info)
Static function to check if given info will lead to a valid configuration.
@ F16
16-bit floating-point number
#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)
void enqueue_op(ICLKernel &kernel, ITensorPack &tensors, bool flush=true)
Schedule the execution of the passed kernel if possible.
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)
static Status validate(const ITensorInfo *lhs, const ITensorInfo *rhs, const ITensorInfo *bias, const ITensorInfo *dst, const MatMulKernelInfo &matmul_kernel_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.
Store the tensor's metadata.
@ F32
32-bit floating-point number
void run(ITensorPack &tensors) override
Run the kernels contained in the function.
#define ARM_COMPUTE_LOG_PARAMS(...)
Class for holding information related to matrix multiplication function.
static Status validate(const ITensorInfo *lhs, const ITensorInfo *rhs, const ITensorInfo *dst, const MatMulInfo &matmul_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.