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

Function rep

dnn/src/arm_common/convolution/quint8/conv_backdata_stride2.cpp:1392–1415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1390 uint8_t* sptr = nullptr;
1391
1392 rep(oc, OC) {
1393 // copy sptr_ori to sptr_copied
1394 std::memset(sptr_copied, src_zp, sizeof(uint8_t) * IH2 * IW2);
1395 copy_plane_in_bytes(
1396 sptr_copied + padding_h * IW2 + padding_w / 2,
1397 sptr_ori + oc * IH * IW, IH, IW * sizeof(uint8_t),
1398 2 * IW2 * sizeof(uint8_t), IW * sizeof(uint8_t));
1399 sptr = sptr_copied;
1400
1401 int32_t* dst_ptr = dptr;
1402 const uint8_t* filter = fptr + oc * IC * FH * FW;
1403 for (size_t ic = 0; ic < IC; ic++) {
1404 if (oc != OC - 1) {
1405 deconv(sptr, filter, dst_ptr, IH2, IW2, OH, OW_real, IC, src_zp,
1406 filter_zp, src_filter_zp);
1407 } else {
1408 deconv_last_oc(
1409 sptr, filter, dst_ptr, IH2, IW2, OH, OW_real, IC, src_zp,
1410 filter_zp, src_filter_zp);
1411 }
1412 dst_ptr += OH * OW_real;
1413 filter += FH * FH;
1414 }
1415 }
1416 if (need_dst_copy_var) {
1417 for (size_t ic = 0; ic < IC; ++ic) {
1418 copy_plane_in_bytes(

Callers

nothing calls this directly

Calls 1

copy_plane_in_bytesFunction · 0.85

Tested by

no test coverage detected