llvm
9012e6d1 - [SYCL] Fix a bug when using no device split and reqd_work_group_size (#16236)

Commit
1 year ago
[SYCL] Fix a bug when using no device split and reqd_work_group_size (#16236) There was a bug (https://github.com/intel/llvm/pull/13523) where a kernel couldn't be launched when `-fsycl-device-code-split=off` was used and multiple kernels with different required work group sizes were present. This issue was fixed by ensuring that the required work group size metadata is not attached to the device image when multiple required work group sizes are detected in a single module. However, there was a similar but related case that was not fixed by that PR, which is now demonstrated in the new test no-split-reqd-wg-size-2.cpp. This issue occurs when there is a single kernel with a required work group size and another kernel without one. In this case, the module doesn't contain multiple required work group sizes, so the required work group size metadata is still attached. As a result of the metadata being attached, the runtime cannot launch the kernel without a required work group size. This PR removes the logic of ensuring metadata is not attached when there are multiple required work group sizes, and instead adds logic that ensures the metadata is not attached when the split mode is `SPLIT_NONE`. This covers the old cases from the previous PR and the new case in this PR.
Author
Justin Cai
Parents
Loading