File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -3002,7 +3002,15 @@ struct TritonGPUVerifyTensorLayoutInterface
3002
3002
// Number of threads per warp.
3003
3003
auto kLane = StringAttr::get (module .getContext (), " lane" );
3004
3004
int moduleThreadsPerWarp = TritonGPUDialect::getThreadsPerWarp (module );
3005
- if (ll.getInDimSize (kLane ) != moduleThreadsPerWarp) {
3005
+ // FIXME: ll.getInDimSize(kLane) does not return the correct threads per
3006
+ // warp. https://github.com/intel/intel-xpu-backend-for-triton/issues/4861
3007
+ unsigned layoutThreadsPerWarp = ll.getInDimSize (kLane );
3008
+ if (auto dotOperandLayout =
3009
+ dyn_cast<DotOperandEncodingAttr>(rankedTy.getEncoding ()))
3010
+ if (auto dpasLayout =
3011
+ dyn_cast<intel::DpasEncodingAttr>(dotOperandLayout.getParent ()))
3012
+ layoutThreadsPerWarp = dpasLayout.getThreadsPerWarp ();
3013
+ if (layoutThreadsPerWarp != moduleThreadsPerWarp) {
3006
3014
return makeErr () << layout << " .\n Layout has " << ll.getInDimSize (kLane )
3007
3015
<< " threads per warp, but the module specifies "
3008
3016
<< moduleThreadsPerWarp << " threads per warp." ;
You can’t perform that action at this time.
0 commit comments