[ModelBuilder] Fix wrong dimension mapping for second level of tiling. (#3037)
Fix mattmul benchmark, the dimension were mapped backward.
diff --git a/experimental/ModelBuilder/test/BenchMatMulVectorGPU.cpp b/experimental/ModelBuilder/test/BenchMatMulVectorGPU.cpp
index 1b5291c..9c8a1f6 100644
--- a/experimental/ModelBuilder/test/BenchMatMulVectorGPU.cpp
+++ b/experimental/ModelBuilder/test/BenchMatMulVectorGPU.cpp
@@ -135,8 +135,8 @@
Value vSubgroupY = b.create<ConstantIndexOp>(loc, numSubgroupY);
SmallVector<linalg::ProcInfo, 2> procInfo(2);
using namespace edsc::op;
- procInfo[0] = {sg % vSubgroupX, vSubgroupX};
- procInfo[1] = {sgdiv % vSubgroupY, vSubgroupY};
+ procInfo[0] = {sgdiv % vSubgroupY, vSubgroupY};
+ procInfo[1] = {sg % vSubgroupX, vSubgroupX};
return procInfo;
}
@@ -325,7 +325,7 @@
linalg::LinalgTilingOptions()
.setLoopType(linalg::LinalgTilingLoopType::ParallelLoops)
.setTileSizes(
- {tileN / numSubgroupY, tileM / numSubgroupX, tileK})
+ {tileM / numSubgroupY, tileN / numSubgroupX, tileK})
.setDistributionOptions(SGDistribute));
}
strategy.vectorize<linalg::MatmulOp>().unrollVector<vector::ContractionOp>(