23.05
|
#include <gemm_hybrid.hpp>
Public Member Functions | |
GemmHybrid (GemmHybrid &)=delete | |
GemmHybrid & | operator= (GemmHybrid &)=delete |
GemmHybrid (const GemmArgs &args) | |
ndrange_t | get_window_size () const override |
bool | supports_dynamic_scheduling () const override |
void | execute (const ndcoord_t &work_range, const ndcoord_t &, int) override |
Main execute member fucntion. More... | |
bool | B_is_pretransposed () const override |
bool | B_pretranspose_required () const override |
size_t | get_B_pretransposed_array_size () const override |
void | pretranspose_B_array (void *in_buffer, const To *B, const int ldb, const int B_multi_stride) override |
void | set_pretransposed_B_data (void *in_buffer) override |
GemmConfig | get_config () override |
![]() | |
virtual void | set_arrays (const To *A, const int lda, const int A_batch_stride, const int A_multi_stride, const To *B, const int ldb, const int B_multi_stride, Tr *C, const int ldc, const int C_batch_stride, const int C_multi_stride, const Tr *bias, const int bias_multi_stride) |
void | set_arrays_generic (const void *A, const int lda, const int A_batch_stride, const int A_multi_stride, const void *B, const int ldb, const int B_multi_stride, void *C, const int ldc, const int C_batch_stride, const int C_multi_stride, const void *bias, const int bias_multi_stride) override |
virtual void | requantize_bias (void *, const To *, const int, const int) |
void | pretranspose_B_array_generic (void *out, const void *in, const int row_stride, const int multi_stride) override |
virtual void | pretranspose_B_array_part (void *out, const To *in, const int row_stride, const int multi_stride, size_t, size_t) |
void | pretranspose_B_array_part_generic (void *out, const void *in, const int row_stride, const int multi_stride, size_t start, size_t end) override |
virtual void | set_indirect_parameters (size_t, const To *const *const *) |
void | set_indirect_parameters_generic (size_t sz, const void *const *const *ptr) override |
![]() | |
virtual void | set_nthreads (int) |
virtual size_t | get_working_size () const |
virtual void | set_working_space (void *) |
virtual size_t | get_B_pretranspose_window_size () const |
virtual void | set_quantized_bias (const int32_t *, size_t) |
virtual void | set_convolution_parameters (ConvolutionParameters) |
virtual | ~IGemmCommon () |
Static Public Member Functions | |
static uint64_t | estimate_cycles (const GemmArgs &args, const PerformanceParameters ¶ms) |
Definition at line 44 of file gemm_hybrid.hpp.
|
delete |
|
inline |
Definition at line 130 of file gemm_hybrid.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 212 of file gemm_hybrid.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 216 of file gemm_hybrid.hpp.
|
inlinestatic |
Definition at line 253 of file gemm_hybrid.hpp.
References GemmArgs::_Ksize, GemmArgs::_Msize, GemmArgs::_nbatches, GemmArgs::_nmulti, GemmArgs::_Nsize, arm_compute::test::validation::if(), PerformanceParameters::kernel_macs_cycle, and arm_gemm::roundup().
|
inlineoverridevirtual |
Main execute member fucntion.
[in] | work_range | specifies the range of work we want to be computed, total range defined by get_window_size() |
[in] | thread_locator | where are we inside of the thread space |
[in] | threadid | a unique threadid |
Implements IGemmCommon.
Definition at line 149 of file gemm_hybrid.hpp.
References arm_compute::test::validation::batch, arm_gemm::bias_adder(), NDCoordinate< N >::get_position(), NDCoordinate< N >::get_position_end(), NDRange< D >::iterator(), arm_gemm::roundup(), and strategy.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 220 of file gemm_hybrid.hpp.
References arm_gemm::roundup().
|
inlineoverridevirtual |
Implements IGemmCommon.
Definition at line 274 of file gemm_hybrid.hpp.
References GemmConfig::filter, arm_gemm::GEMM_HYBRID, GemmConfig::inner_block_size, GemmConfig::method, and GemmConfig::outer_block_size.
|
inlineoverridevirtual |
Implements IGemmCommon.
Definition at line 139 of file gemm_hybrid.hpp.
References NDRange< D >::total_size().
|
delete |
|
inlineoverridevirtual |
Reimplemented from GemmCommon< To, Tr >.
Definition at line 224 of file gemm_hybrid.hpp.
References arm_gemm::roundup(), and strategy.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 248 of file gemm_hybrid.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 144 of file gemm_hybrid.hpp.