| 21 | } |
| 22 | |
| 23 | void ConvolutionForwardImpl::AlgoMatmul::exec(const ExecArgs& args) const { |
| 24 | #define cb(DType) \ |
| 25 | if (args.src_layout->dtype == DType()) { \ |
| 26 | using ctype = typename DTypeTrait<DType>::ctype; \ |
| 27 | exec_internal<ctype>(args); \ |
| 28 | return; \ |
| 29 | } |
| 30 | MEGDNN_FOREACH_COMPUTING_DTYPE_FLOAT(cb) |
| 31 | #undef cb |
| 32 | |
| 33 | megdnn_assert_internal(0); |
| 34 | } |
| 35 | |
| 36 | template <typename T> |
| 37 | void ConvolutionForwardImpl::AlgoMatmul::exec_internal(const ExecArgs& args) { |