Hello,
The first tiled MLIR example of the matrix multiplication (in section Tiling in MLIR)
seems inconsistent:
- the affine map names are not those used in the code
- the affine map parameters are not consistent with the tiling described above,
or with the matrix sizes (2088x2048). I believe they should read:
#map7 = (d0) -> (d064)
#map8 = (d0) -> (2088,d064+64)
Comparing code and GFLOPS along the transformations of the tutorial has a
minor flaw - at first matrix A has size 2088x2048, but then it seems to change to
2048x2048 (in section Explicit Copying and Packing).
In any case, a hugely useful tutorial to me and my students - this is why I am
sending this erratum, so that it may help others.
If I had a wishlist of things that I missed:
- a good reference for unroll-and-jam
- a good reference on vectorization
- a TODO list explaining what has to be programmed into the hop
branch of your fork of mlir to perform the tutorial.
Best regards,
Dumitru
Hello,
The first tiled MLIR example of the matrix multiplication (in section Tiling in MLIR)
seems inconsistent:
or with the matrix sizes (2088x2048). I believe they should read:
#map7 = (d0) -> (d064)
#map8 = (d0) -> (2088,d064+64)
Comparing code and GFLOPS along the transformations of the tutorial has a
minor flaw - at first matrix A has size 2088x2048, but then it seems to change to
2048x2048 (in section Explicit Copying and Packing).
In any case, a hugely useful tutorial to me and my students - this is why I am
sending this erratum, so that it may help others.
If I had a wishlist of things that I missed:
branch of your fork of mlir to perform the tutorial.
Best regards,
Dumitru