MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / exec

Method exec

dnn/src/cuda/local_share/forward/batch_size_aware_chwn.cpp:68–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68void LocalShareForwardImpl::AlgoCHWNBatchSizeAware::exec(const ExecArgs& args) const {
69 local_share::Param kern_param;
70 auto&& param = args.opr->param();
71 unpack_local_share_params(
72 args.src_layout, args.filter_layout, args.dst_layout, param);
73 kern_param.n = n, kern_param.co = co, kern_param.ci = ci, kern_param.hi = hi,
74 kern_param.wi = wi, kern_param.ph = ph, kern_param.pw = pw,
75 kern_param.grp_ho = ho / sgh, kern_param.grp_wo = wo / sgw, kern_param.sgh = sgh,
76 kern_param.sgw = sgw;
77 auto&& handle = concrete_handle(args.opr->handle());
78 auto&& cublas_hdl = cublas_handle(args.opr->handle());
79 auto&& stream = cuda_stream(args.opr->handle());
80
81 auto one = handle->one_device();
82 auto zero = handle->zero_device();
83
84 local_share::_do_local_share_convolution_large_batch_size(
85 args.src_tensor->ptr<dt_float32>(), args.filter_tensor->ptr<dt_float32>(),
86 args.dst_tensor->ptr<dt_float32>(),
87 reinterpret_cast<float*>(args.workspace.raw_ptr), fh, fw, sh, sw,
88 kern_param, cublas_hdl, stream, one, zero);
89}
90
91// vim: syntax=cpp.doxygen

Callers

nothing calls this directly

Calls 7

cublas_handleFunction · 0.85
cuda_streamFunction · 0.85
concrete_handleFunction · 0.50
paramMethod · 0.45
handleMethod · 0.45
one_deviceMethod · 0.45
zero_deviceMethod · 0.45

Tested by

no test coverage detected