File tree Expand file tree Collapse file tree 1 file changed +14
-5
lines changed Expand file tree Collapse file tree 1 file changed +14
-5
lines changed Original file line number Diff line number Diff line change @@ -403,15 +403,24 @@ struct ConvertLaunch final : ConvertOpPattern<gpu::LaunchFuncOp> {
403
403
SmallVector<int32_t > argSize;
404
404
kernelMod->walk ([&](gpu::GPUFuncOp func) {
405
405
if (func.getName () == gpuLaunch.getKernelName ()) {
406
- for (auto s : func.getKnownGridSize ().value ()) {
407
- globalSize.emplace_back (s);
406
+ if (auto size = func.getKnownGridSize ()) {
407
+ for (auto s : size.value ()) {
408
+ globalSize.emplace_back (s);
409
+ }
408
410
}
409
- for (auto s : func.getKnownBlockSize ().value ()) {
410
- localSize.emplace_back (s);
411
+ if (auto size = func.getKnownBlockSize ()) {
412
+ for (auto s : size.value ()) {
413
+ localSize.emplace_back (s);
414
+ }
411
415
}
412
416
}
413
417
});
414
- assert (globalSize.size () == 3 && localSize.size () == 3 );
418
+ while (globalSize.size () < 3 ) {
419
+ globalSize.emplace_back (1 );
420
+ }
421
+ while (localSize.size () < 3 ) {
422
+ localSize.emplace_back (1 );
423
+ }
415
424
globalSize = {globalSize[0 ] * localSize[0 ], globalSize[1 ] * localSize[1 ],
416
425
globalSize[2 ] * localSize[2 ]};
417
426
for (auto arg : adaptor.getKernelOperands ()) {
You can’t perform that action at this time.
0 commit comments