| 277 | /* ===================== F32 Gemv algo ===================== */ |
| 278 | namespace { |
| 279 | void f32_gemv_kern(const MatrixMulImpl::KernParam& kern_param) { |
| 280 | MIDOUT_BEGIN(megdnn_arm_exec_fp32, midout_iv("f32_gemv_kern"_hash)) { |
| 281 | auto M = kern_param.M, N = kern_param.N, K = kern_param.K; |
| 282 | auto LDA = kern_param.LDA, LDB = kern_param.LDB, LDC = kern_param.LDC; |
| 283 | const auto Aptr = kern_param.A<dt_float32>(), Bptr = kern_param.B<dt_float32>(); |
| 284 | auto Cptr = kern_param.C<dt_float32>(); |
| 285 | gemv_like(Aptr, Bptr, Cptr, M, N, K, LDA, LDB, LDC); |
| 286 | } |
| 287 | MIDOUT_END(); |
| 288 | } |
| 289 | } // anonymous namespace |
| 290 | |
| 291 | bool MatrixMulImpl::AlgoF32Gemv::usable(const KernSizeParam& kern_size_param) const { |
nothing calls this directly
no test coverage detected