-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL] Fix SIGKILL after setting large WG sizes #2641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SYCL] Fix SIGKILL after setting large WG sizes #2641
Conversation
This patch fixes SIGKILL (out of memory error) caused by large number of global work size. Now, if work group size wasn't specified in the kernel source or IL, `WGSize` sets to `{1, 1, 1}`.
/summary:run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@bader, @dm-vodopyanov |
If I understand correctly, this patch fixes functional problem. In general it's better to have slowly working application than broken application. Do you have better solution in mind? |
it is hard to disagree. But the fixes can different. To me it seems the problem is not in the removed code, but in the device/kernel property APIs reporting incorrect values. |
That's exactly what Dmitry did, isn't it? He used |
@kbobrovs I agree that this is controversial patch and performance may be lower. It reproduces only on OpenCL FPGA Emu on the specific machine. The minimum value from |
It definitely isn't. And it will likely make a difference for performance.
It seems that are we sacrificing performance on e.g. GPU hacking around potential FPGA Emu bug. Can at least device be checked if it is accelerator before using {1,1,1}? A TODO be added as well? |
We can move responsibility of picking the right WG size from SYCL RT to particular plugins. IIRC, OpenCL spec allows for such behavior. Other plugins may implement more platform-specific logic to achieve better performance. |
[CTS] add simple test that combines kernel launch and memcpy
[CTS] add simple test that combines kernel launch and memcpy
This patch fixes SIGKILL (out of memory error) caused by large number
of global work size. Now, if work group size wasn't specified in the
kernel source or IL,
WGSize
sets to{1, 1, 1}
.