File tree 1 file changed +18
-0
lines changed
third_party/intel/lib/TritonIntelGPUToLLVM
1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -1628,6 +1628,24 @@ struct LoadOpConversion
1628
1628
numOperandsInnerDimPerLoad =
1629
1629
isOperandA ? numOperandsPer2DloadN : numOperandsPer2DLoadM;
1630
1630
1631
+ // downscale if the load size is bigger than the block size
1632
+ LLVM_DEBUG ({
1633
+ llvm::dbgs () << " numOperandsOuterDimPerLoad before downscaling = "
1634
+ << numOperandsOuterDimPerLoad << " \n " ;
1635
+ llvm::dbgs () << " numOperandsInnerDimPerLoad before downscaling = "
1636
+ << numOperandsInnerDimPerLoad << " \n " ;
1637
+ });
1638
+ numOperandsOuterDimPerLoad =
1639
+ std::max (std::min (numOperandsOuterDimPerLoad,
1640
+ static_cast <unsigned >(tensorShape[dimOuter] /
1641
+ elemsPerDPASInst[0 ])),
1642
+ 1u );
1643
+ numOperandsInnerDimPerLoad =
1644
+ std::max (std::min (numOperandsInnerDimPerLoad,
1645
+ static_cast <unsigned >(tensorShape[dimInner] /
1646
+ elemsPerDPASInst[1 ])),
1647
+ 1u );
1648
+
1631
1649
LLVM_DEBUG ({
1632
1650
llvm::dbgs () << " numOperandsOuterDimPerLoad = "
1633
1651
<< numOperandsOuterDimPerLoad << " \n " ;
You can’t perform that action at this time.
0 commit comments