Open erwei-xilinx opened 1 month ago
Currently being handled with a slightly more informative failure: https://github.com/Xilinx/mlir-air/pull/706
Might be possible to make this work with some canonicalizer to air.channel.put/get
to handle this scenario.
Unlike
air.dma_memcpy_nd
which hasair-copy-to-dma
folding its src/dst side memref chain---consisting ofmemref.subview
,memref.transpose
, ormemref.expand_shape
---into its wrap-and-stride list,air.channel.put/get
, if having src/dst side memref produced by any of those memref ops, will fail atair-to-aie
. This is becauseair-to-aie
assumes that any memref op chain at src/dst were already folded to wraps and strides prior to this point.This won't affect code progressively compiled from
memref.copy
viaair.dma_memcpy_nd
; it shall affect user handwritten code.