24.02.1
|
#include <gemm_interleaved.hpp>
Public Member Functions | |
GemmInterleaved (GemmInterleaved &)=delete | |
GemmInterleaved & | operator= (GemmInterleaved &)=delete |
GemmInterleaved (const GemmArgs &args, const OutputStage &os) | |
GemmInterleaved (const GemmArgs &args) | |
ndrange_t | get_window_size () const override |
void | set_nthreads (int nthreads) override |
void | execute (const ndcoord_t &work_range, const ndcoord_t &, int threadid) override |
Main execute member fucntion. More... | |
size_t | get_working_size () const override |
void | set_working_space (void *working_space) override |
bool | B_is_pretransposed () const override |
bool | B_pretranspose_required () const override |
size_t | get_B_pretransposed_array_size () const override |
size_t | get_B_pretranspose_window_size () const override |
void | requantize_bias (void *in_buffer, const To *B, const int ldb, const int B_multi_stride) override |
void | pretranspose_B_array (void *in_buffer, const To *B, const int ldb, const int B_multi_stride) override |
void | pretranspose_B_array_part (void *in_buffer, const To *B, const int ldb, const int B_multi_stride, size_t start, size_t end) override |
void | set_pretransposed_B_data (void *in_buffer) override |
void | set_quantized_bias (const int32_t *bias, size_t bias_multi_stride) override |
void | set_indirect_parameters (size_t string_len, const To *const *const *ptr) override |
void | set_convolution_parameters (ConvolutionParameters parms) override |
GemmConfig | get_config () override |
Public Member Functions inherited from GemmCommon< To, Tr > | |
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 |
void | pretranspose_B_array_generic (void *out, const void *in, const int row_stride, const int multi_stride) override |
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 |
void | set_indirect_parameters_generic (size_t sz, const void *const *const *ptr) override |
Public Member Functions inherited from IGemmCommon | |
virtual bool | supports_dynamic_scheduling () const |
virtual | ~IGemmCommon () |
Static Public Member Functions | |
template<typename perf_type > | |
static uint64_t | estimate_cycles (const GemmArgs &args) |
Definition at line 332 of file gemm_interleaved.hpp.
|
delete |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1032 of file gemm_interleaved.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1036 of file gemm_interleaved.hpp.
|
inlinestatic |
Definition at line 1191 of file gemm_interleaved.hpp.
References GemmTuner::args, arm_gemm::iceildiv(), PerformanceParameters::kernel_macs_cycle, PerformanceParameters::merge_bytes_cycle, PerformanceParameters::prepare_bytes_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 720 of file gemm_interleaved.hpp.
References arm_compute::mlgo::parser::end(), NDCoordinate< N >::get_position(), NDCoordinate< N >::get_position_end(), arm_gemm::roundup(), arm_compute::test::validation::run(), strategy, and type.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1050 of file gemm_interleaved.hpp.
References arm_gemm::iceildiv().
Referenced by GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::pretranspose_B_array(), and GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::pretranspose_B_array_part().
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1040 of file gemm_interleaved.hpp.
References arm_gemm::roundup().
|
inlineoverridevirtual |
Implements IGemmCommon.
Definition at line 1217 of file gemm_interleaved.hpp.
References GemmConfig::filter, arm_gemm::GEMM_INTERLEAVED, arm_gemm::get_weight_format(), GemmConfig::inner_block_size, GemmConfig::method, GemmConfig::outer_block_size, and GemmConfig::weight_format.
|
inlineoverridevirtual |
Implements IGemmCommon.
Definition at line 703 of file gemm_interleaved.hpp.
References arm_gemm::iceildiv().
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 992 of file gemm_interleaved.hpp.
|
delete |
|
inlineoverridevirtual |
Reimplemented from GemmCommon< To, Tr >.
Definition at line 1070 of file gemm_interleaved.hpp.
References GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::get_B_pretranspose_window_size(), and GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::pretranspose_B_array_part().
|
inlineoverridevirtual |
Reimplemented from GemmCommon< To, Tr >.
Definition at line 1074 of file gemm_interleaved.hpp.
References arm_compute::mlgo::parser::end(), GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::get_B_pretranspose_window_size(), GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >::requantize_bias(), arm_gemm::roundup(), and strategy.
|
inlineoverridevirtual |
Reimplemented from GemmCommon< To, Tr >.
Definition at line 1057 of file gemm_interleaved.hpp.
References arm_gemm::compute_col_sums().
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1184 of file gemm_interleaved.hpp.
References ConvolutionParameters::input_channels.
|
inlineoverridevirtual |
Reimplemented from GemmCommon< To, Tr >.
Definition at line 1179 of file gemm_interleaved.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 715 of file gemm_interleaved.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1163 of file gemm_interleaved.hpp.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1170 of file gemm_interleaved.hpp.
References Requantize32::bias, bias, and Requantize32::bias_multi_stride.
|
inlineoverridevirtual |
Reimplemented from IGemmCommon.
Definition at line 1001 of file gemm_interleaved.hpp.