| 31 | } |
| 32 | |
| 33 | std::pair<TensorLayoutArray, std::unique_ptr<MatrixMulForward>> prepare_sub_opr( |
| 34 | const ConvolutionBackwardDataImpl::AlgoBase::SizeArgs& args) { |
| 35 | auto matmul_opr = args.handle->create_operator<MatrixMulForward>(); |
| 36 | set_execution_policy<ConvolutionBackwardData, MatrixMulForward*>( |
| 37 | args.opr, matmul_opr.get()); |
| 38 | auto&& config = sub_opr_config( |
| 39 | args.filter_meta, *args.filter_layout, *args.diff_layout, *args.grad_layout, |
| 40 | args.opr); |
| 41 | matmul_opr->param() = config.second; |
| 42 | |
| 43 | return {config.first, std::move(matmul_opr)}; |
| 44 | } |
| 45 | } // namespace |
| 46 | |
| 47 | std::vector<Algorithm::SearchItem> ConvolutionBackwardDataImpl::AlgoMatmul:: |
no test coverage detected