24.02.1
|
Go to the documentation of this file.
55 const int A_batch_stride,
56 const int A_multi_stride,
59 const int B_multi_stride,
62 const int C_batch_stride,
63 const int C_multi_stride,
65 const int bias_multi_stride) = 0;
177 template <
typename To,
typename Tr>
181 const To *_Aptr =
nullptr;
183 int _A_batch_stride = 0;
184 int _A_multi_stride = 0;
185 const To *_Bptr =
nullptr;
187 int _B_multi_stride = 0;
190 int _C_batch_stride = 0;
191 int _C_multi_stride = 0;
192 const Tr *_bias =
nullptr;
193 int _bias_multi_stride = 0;
200 const int A_batch_stride,
201 const int A_multi_stride,
204 const int B_multi_stride,
207 const int C_batch_stride,
208 const int C_multi_stride,
210 const int bias_multi_stride)
214 _A_batch_stride = A_batch_stride;
215 _A_multi_stride = A_multi_stride;
218 _B_multi_stride = B_multi_stride;
221 _C_batch_stride = C_batch_stride;
222 _C_multi_stride = C_multi_stride;
224 _bias_multi_stride = bias_multi_stride;
230 const int A_batch_stride,
231 const int A_multi_stride,
234 const int B_multi_stride,
237 const int C_batch_stride,
238 const int C_multi_stride,
240 const int bias_multi_stride)
override
242 set_arrays(
static_cast<const To *
>(A), lda, A_batch_stride, A_multi_stride,
static_cast<const To *
>(B), ldb,
243 B_multi_stride,
static_cast<Tr *
>(C), ldc, C_batch_stride, C_multi_stride,
244 static_cast<const Tr *
>(
bias), bias_multi_stride);
273 void *out,
const void *in,
const int row_stride,
const int multi_stride,
size_t start,
size_t end)
override
virtual void pretranspose_B_array_generic(void *, const void *, const int, const int)=0
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 pretranspose_B_array_generic(void *out, const void *in, const int row_stride, const int multi_stride) override
virtual GemmConfig get_config()=0
virtual void execute(const ndcoord_t &work_range, const ndcoord_t &thread_locator, int threadid)=0
Main execute member fucntion.
virtual bool B_pretranspose_required() const
NDCoordinate builds upon a range, but specifies a starting position in addition to a size which it in...
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 void set_convolution_parameters(ConvolutionParameters)
virtual void pretranspose_B_array(void *, const To *, const int, const int)
virtual void pretranspose_B_array_part_generic(void *, const void *, const int, const int, const size_t, const size_t)=0
virtual void set_quantized_bias(const int32_t *, size_t)
void set_indirect_parameters_generic(size_t sz, const void *const *const *ptr) override
virtual size_t get_B_pretranspose_window_size() const
virtual void set_indirect_parameters(size_t, const To *const *const *)
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 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)
virtual void set_working_space(void *)
virtual void set_pretransposed_B_data(void *)
virtual void set_nthreads(int)
virtual void requantize_bias(void *, const To *, const int, const int)
virtual void pretranspose_B_array_part(void *out, const To *in, const int row_stride, const int multi_stride, size_t, size_t)
virtual void set_indirect_parameters_generic(size_t, const void *const *const *)
virtual size_t get_working_size() const
virtual bool B_is_pretransposed() const
void end(TokenStream &in, bool &valid)
virtual size_t get_B_pretransposed_array_size() const
virtual ndrange_t get_window_size() const =0
virtual bool supports_dynamic_scheduling() const