| 507 | } |
| 508 | |
| 509 | void MHABackwardProxyBase::exec(MHA_PROXY_BACKWARD_EXEC_PARAM) { |
| 510 | #define cb(DType) \ |
| 511 | if (queries.layout.dtype.enumv() == DTypeTrait<DType>::enumv) { \ |
| 512 | using ctype = typename DTypeTrait<DType>::ctype; \ |
| 513 | exec_internal<ctype>(MHA_PROXY_BACKWARD_CALL, workspace); \ |
| 514 | } |
| 515 | MEGDNN_FOREACH_COMPUTING_DTYPE(cb) |
| 516 | #undef cb |
| 517 | } |
| 518 | |
| 519 | template <typename T> |
| 520 | void MHABackwardProxyBase::exec_internal(MHA_PROXY_BACKWARD_EXEC_PARAM) { |