23.08
|
Go to the documentation of this file.
54 virtual void set_arrays_generic(
const void *A,
const int lda,
const int A_batch_stride,
const int A_multi_stride,
55 const void *B,
const int ldb,
const int B_multi_stride,
56 void *C,
const int ldc,
const int C_batch_stride,
const int C_multi_stride,
57 const void *
bias,
const int bias_multi_stride) = 0;
168 template <
typename To,
typename Tr>
172 const To *_Aptr =
nullptr;
174 int _A_batch_stride = 0;
175 int _A_multi_stride = 0;
176 const To *_Bptr =
nullptr;
178 int _B_multi_stride = 0;
181 int _C_batch_stride = 0;
182 int _C_multi_stride = 0;
183 const Tr *_bias =
nullptr;
184 int _bias_multi_stride = 0;
189 virtual void set_arrays(
const To *A,
const int lda,
const int A_batch_stride,
const int A_multi_stride,
190 const To *B,
const int ldb,
const int B_multi_stride,
191 Tr *C,
const int ldc,
const int C_batch_stride,
const int C_multi_stride,
192 const Tr *
bias,
const int bias_multi_stride)
196 _A_batch_stride = A_batch_stride;
197 _A_multi_stride = A_multi_stride;
200 _B_multi_stride = B_multi_stride;
203 _C_batch_stride = C_batch_stride;
204 _C_multi_stride = C_multi_stride;
206 _bias_multi_stride = bias_multi_stride;
210 void set_arrays_generic(
const void *A,
const int lda,
const int A_batch_stride,
const int A_multi_stride,
211 const void *B,
const int ldb,
const int B_multi_stride,
212 void *C,
const int ldc,
const int C_batch_stride,
const int C_multi_stride,
213 const void *
bias,
const int bias_multi_stride)
override
215 set_arrays(
static_cast<const To *
>(A), lda, A_batch_stride, A_multi_stride,
216 static_cast<const To *
>(B), ldb, B_multi_stride,
217 static_cast<Tr *
>(C), ldc, C_batch_stride, C_multi_stride,
218 static_cast<const Tr *
>(
bias), bias_multi_stride);
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