[Add] first MetaOperator implementation: PaddedConv
1 unresolved thread
1 unresolved thread
Context
This implementation works but is not fed to the Registrar system because it is less efficient than the combination of Pad->Conv in MetaOperator with an optimized non-padded convolution.
Modified files
PaddedConvImpl.hpp
PaddedConvImpl.cpp
PaddedConvImpl_kernel.hpp
Detailed major modifications
Add first functional metaoperator implementation.
TODO
- Optimize the implementation inference time
Edited by Maxence Naud
Merge request reports
Activity
Filter activity
changed milestone to %aidge_backend_cpu v0.4.0
added Feature 🚀 label
assigned to @pineapple
84 const std::size_t oIndexFull = oIndex + ox; 85 const signedsize ix = static_cast<signedsize>(ox * strideDims[0]) - static_cast<signedsize>(beginEndBorders[0]); 86 87 for (std::size_t sx = sxMin; sx*dilationDims[0] < sxMax; ++sx) { 88 output[oIndexFull] += weights[wIndex + sx] * 89 input[iIndex + static_cast<std::size_t>(ix+static_cast<signedsize>(sx*dilationDims[0]))]; 90 } 91 } 92 } 93 } 94 } 95 } 96 97 // Kernels registration to implementation entry point 98 REGISTRAR(PaddedConvImpl1D_cpu, 99 {{DataType::Any, DataFormat::NCHW}, {DataType::Float32, DataFormat::NCHW}, DynamicAttributes(std::map<std::string, future_std::any>({std::make_pair("type", future_std::any(std::string("PaddedConv1D")))}))}, I don't understand if you want to change this line and by what or if you approve the MR.
Edited by Maxence Naud
requested review from @olivierbichler
added StatusReview Ready label
mentioned in commit 8b99d4f1
Please register or sign in to reply