24.02.1
|
#include <gemm_common.hpp>
Public Member Functions | |
virtual 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)=0 |
virtual ndrange_t | get_window_size () const =0 |
virtual void | set_nthreads (int) |
virtual bool | supports_dynamic_scheduling () const |
virtual void | execute (const ndcoord_t &work_range, const ndcoord_t &thread_locator, int threadid)=0 |
Main execute member fucntion. More... | |
virtual size_t | get_working_size () const |
virtual void | set_working_space (void *) |
virtual bool | B_is_pretransposed () const |
virtual bool | B_pretranspose_required () const |
virtual size_t | get_B_pretransposed_array_size () const |
virtual size_t | get_B_pretranspose_window_size () const |
virtual void | pretranspose_B_array_generic (void *, const void *, const int, const int)=0 |
virtual void | pretranspose_B_array_part_generic (void *, const void *, const int, const int, const size_t, const size_t)=0 |
virtual void | set_pretransposed_B_data (void *) |
virtual void | set_quantized_bias (const int32_t *, size_t) |
virtual void | set_indirect_parameters_generic (size_t, const void *const *const *) |
virtual void | set_convolution_parameters (ConvolutionParameters) |
virtual GemmConfig | get_config ()=0 |
virtual | ~IGemmCommon () |
Definition at line 44 of file gemm_common.hpp.
|
inlinevirtual |
Definition at line 165 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 110 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 115 of file gemm_common.hpp.
|
pure virtual |
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 |
Implemented in QuantizeWrapper< To, Tr, Tgemm >, GemvBatched< To, Tr >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantizedInline< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, and GemmHybridQuantized< strategy, To, Tr >.
Referenced by CpuGemmAssemblyWrapperKernel< TypeInput, TypeOutput >::run(), and CpuGemmAssemblyWrapperKernel< TypeInput, TypeOutput >::run_nd().
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, and GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >.
Definition at line 125 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 120 of file gemm_common.hpp.
|
pure virtual |
Implemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
|
pure virtual |
Implemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Referenced by CpuGemmAssemblyWrapperKernel< TypeInput, TypeOutput >::configure().
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridQuantized< strategy, To, Tr >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 101 of file gemm_common.hpp.
|
pure virtual |
Implemented in GemmCommon< To, Tr >, and GemmCommon< TypeInput, TypeOutput >.
|
pure virtual |
Implemented in GemmCommon< To, Tr >, and GemmCommon< TypeInput, TypeOutput >.
|
pure virtual |
Implemented in GemmCommon< To, Tr >, and GemmCommon< TypeInput, TypeOutput >.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, and GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >.
Definition at line 156 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmCommon< To, Tr >, and GemmCommon< TypeInput, TypeOutput >.
Definition at line 150 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 84 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, GemmHybrid< strategy, To, Tr >, GemvPretransposed< strategy, To, Tr, OutputStage >, QuantizeWrapper< To, Tr, Tgemm >, and GemvBatched< To, Tr >.
Definition at line 137 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, and QuantizeWrapper< To, Tr, Tgemm >.
Definition at line 143 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmInterleaved< strategy, To, Tr, OutputStage, MergeStep, FixedFormat, ForceThreadColumns, ForceFloatAccumulate >, QuantizeWrapper< To, Tr, Tgemm >, GemvBatched< To, Tr >, and GemmHybridQuantized< strategy, To, Tr >.
Definition at line 106 of file gemm_common.hpp.
|
inlinevirtual |
Reimplemented in GemmHybridIndirect< strategy, To, Tr, OutputStage, SeparateQuantize, FixedFormat >, GemmHybridQuantized< strategy, To, Tr >, GemmHybridQuantizedInline< strategy, To, Tr >, and GemmHybrid< strategy, To, Tr >.
Definition at line 87 of file gemm_common.hpp.