| 329 | template <class SrcEngine, class SrcLayout, |
| 330 | class DstEngine, class DstLayout> |
| 331 | CUTE_HOST_DEVICE |
| 332 | void |
| 333 | copy_aligned(Tensor<SrcEngine, SrcLayout> const& src, |
| 334 | Tensor<DstEngine, DstLayout> & dst) |
| 335 | { |
| 336 | if constexpr (is_static<decltype(shape(src))>::value && is_static<decltype(shape(dst))>::value) { |
| 337 | // Tensors with static shapes can be filtered |
| 338 | return copy(AutoFilter(AutoVectorizingCopyWithAssumedAlignment<128>{}), src, dst); |
| 339 | } else { |
| 340 | return copy(AutoVectorizingCopyWithAssumedAlignment<128>{}, src, dst); |
| 341 | } |
| 342 | } |
| 343 | |
| 344 | // Specializaton for Atom AutoVectorizingCopyAssumedAlignment |
| 345 | template <int MaxVecBits, class... Args, |