MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / ValidateParams

Function ValidateParams

tensorflow/lite/kernels/cpu_backend_gemm_params.h:204–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

202template <typename LhsScalar, typename RhsScalar, typename AccumScalar,
203 typename DstScalar, QuantizationFlavor quantization_flavor>
204void ValidateParams(
205 const MatrixParams<LhsScalar>& lhs_params,
206 const MatrixParams<RhsScalar>& rhs_params,
207 const MatrixParams<DstScalar>& dst_params,
208 const GemmParams<AccumScalar, DstScalar, quantization_flavor>& params) {
209 (void)detail::ValidateTypes<LhsScalar, RhsScalar, AccumScalar, DstScalar,
210 quantization_flavor>();
211 ValidateGemmParams(params);
212 // For now, Gemm only supports this particular combination of storage orders.
213 // Actually the generic ruy path already supports all combinations (with
214 // various performance penalties). On the other hand, gemmlowp and Eigen
215 // paths would require more source code and larger binary code to handle
216 // other combinations (because orders are template parameters in gemmlowp
217 // and Eigen). Since this is TFLite's own internal Gemm library, there is
218 // no point in supporting more than what TFlite currently uses, and that
219 // is for now this single combination.
220 TFLITE_DCHECK(lhs_params.order == Order::kRowMajor);
221 TFLITE_DCHECK(rhs_params.order == Order::kColMajor);
222 TFLITE_DCHECK(dst_params.order == Order::kColMajor);
223}
224
225} // namespace cpu_backend_gemm
226

Callers 2

RunMethod · 0.85
GemmFunction · 0.85

Calls 1

ValidateGemmParamsFunction · 0.85

Tested by

no test coverage detected