| 12 | } |
| 13 | |
| 14 | void LRNForwardImpl::exec( |
| 15 | _megdnn_tensor_in src, _megdnn_tensor_out dst, _megdnn_workspace workspace) { |
| 16 | check_exec(src.layout, dst.layout, workspace.size); |
| 17 | auto handle = cudnn_handle(this->handle()); |
| 18 | setup_descs(src.layout, dst.layout); |
| 19 | float alpha = 1.0f, beta = 0.0f; |
| 20 | cudnn_check(cudnnLRNCrossChannelForward( |
| 21 | handle, lrn_desc.desc, CUDNN_LRN_CROSS_CHANNEL_DIM1, &alpha, src_desc.desc, |
| 22 | src.raw_ptr(), &beta, dst_desc.desc, dst.raw_ptr())); |
| 23 | } |
| 24 | |
| 25 | void LRNBackwardImpl::setup_descs( |
| 26 | const TensorLayout& src, const TensorLayout& dst, const TensorLayout& diff, |
nothing calls this directly
no test coverage detected