[Add] support for auto-concatenation and Fix multiple adaptToBackend() issues
Added support for auto-concatenation: the Concat operator is replaced by direct allocation when possible during scheduling.
Fix multiple adaptToBackend() issues.
Detailed modifications
- Add
expandMetaOp()recipe to expand a singleMetaOperatornode; - Add sorting option to
getStaticScheduling()that includesAsSoonAsPossibleandAsLateAsPossible; - Add
generateMemoryAutoConcat()that handles auto-concatenation directly in memory, with the following changes vs N2D2:- Support both NHWC and NCHW formats;
- The memory layout for Concat is still generated.
- Add missing binding for a constructor of
ImplSpec::IOSpec; - Fix bugs in
OperatorImpl::getAdaptation():- Backend was not set, set it to be the same as the adapted node;
- Fix confusion between
IOSpecandrequiredIOSpec; - Return the node instead of a meta-op if no adaptation is required.
- Fix issue in
Transpose_Opto allow a permutation vector larger than the input vector; - Changed
adaptToBackend()behavior to not introduced meta-ops.
Edited by Maxence Naud