SWDEV-231145 - Add a validation for uniform launch

Change-Id: I68d61690c50060d9dcca117b248dddf69204a23f


[ROCm/clr commit: e82eecf33e]
This commit is contained in:
German Andryeyev
2023-04-17 18:41:25 -04:00
parent 237480711a
commit a6f2ecd703
3 changed files with 21 additions and 7 deletions
+9
View File
@@ -375,6 +375,15 @@ hipError_t ihipModuleLaunchKernel(hipFunction_t f, uint32_t globalWorkSizeX,
if (globalWorkSizeY < blockDimY) blockDimY = globalWorkSizeY;
if (globalWorkSizeZ < blockDimZ) blockDimZ = globalWorkSizeZ;
auto device = g_devices[deviceId]->devices()[0];
// Check if it's a uniform kernel and validate dimensions
if (kernel->getDeviceKernel(*device)->getUniformWorkGroupSize()) {
if (((globalWorkSizeX % blockDimX) != 0) ||
((globalWorkSizeY % blockDimY) != 0) ||
((globalWorkSizeZ % blockDimZ) != 0)) {
return hipErrorInvalidValue;
}
}
amd::Command* command = nullptr;
hip::Stream* hip_stream = hip::getStream(hStream);
status = ihipLaunchKernelCommand(command, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ,