-
Notifications
You must be signed in to change notification settings - Fork 114
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
Implicit command queue flushes triggered by clReleaseCommandQueue
#1248
Comments
I think the currently specified behavior makes sense when releasing last reference to the command-queue, because this causes the command-queue to become inaccessible thereby eliminating the ability to explicitly flush the command-queue in the future. Would it make sense to relax the behavior so there is no implicit flush if the reference count is still nonzero after releasing? This avoid the unwanted (implicit) flushes with RAII objects but retains the implicit flush behavior when the last reference is released. Depending how we resolve #1238 we may want to consider strengthening the behavior when the last reference is released. It would be interesting to understand how other APIs (e.g. Vulkan, SYCL) handle this case. |
Discussed in 2024/09/24 teleconference. Requiring the flush on each call to |
Discussed in the November 5th teleconference. Pending what we find in the tests added by KhronosGroup/OpenCL-CTS#2134, we may revisit whether fixing this will require a new minor OpenCL version. |
The specification currently states
A few implementers observed in the 2024/09/03 teleconference that this leads to unwanted flushes when RAII objects that hold command queues frequently call
clRetainCommandQueue
andclReleaseCommandQueue
. The intent may have been to solve the issue described in #1238.Do people rely on this behaviour? Is this something we want to relax? Would we want explicit opt-in/opt-out control for this behaviour?
The text was updated successfully, but these errors were encountered: