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

Method exec

dnn/src/arm_common/pooling/opr_impl.cpp:161–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161void PoolingImpl::exec(
162 _megdnn_tensor_in src, _megdnn_tensor_out dst, _megdnn_workspace workspace) {
163 check_exec(src.layout, dst.layout, workspace.size);
164 auto param = make_pooling_kern_param(this, src, dst, workspace);
165
166 bool fwd_reduce = is_global_pooling_reduce(param);
167 if (fwd_reduce) {
168 auto global_pooling_fwd = [=]() {
169 auto reduce_tensor = get_gloabl_pooling_reduce_tensor(src, dst);
170 auto&& opr = get_global_pooling_reduce_opr(nullptr, param);
171 opr->exec(reduce_tensor.first, reduce_tensor.second, workspace);
172 };
173 MEGDNN_DISPATCH_CPU_KERN_OPR(global_pooling_fwd());
174 return;
175 }
176
177 auto algo = get_algorithm(this, src.layout, dst.layout);
178 if (!is_fallback_algo(algo)) {
179 algo->exec(param);
180 } else {
181 fallback::PoolingImpl::exec(src, dst, workspace);
182 }
183}
184
185MEGDNN_DEF_GET_ALGO_FROM_DESC(PoolingImpl);
186

Callers

nothing calls this directly

Calls 5

is_global_pooling_reduceFunction · 0.85
get_algorithmFunction · 0.85
execFunction · 0.50

Tested by

no test coverage detected