Skip to content

[UR][Offload] Queue flag and out-of-order queue support #19531

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

Merged
merged 6 commits into from
Jul 24, 2025

Conversation

RossBrunton
Copy link
Contributor

Out of order support is similar to CUDA and HIP; there's a pool of
queues, and incoming tasks are allocated to the queues round-robin
style. In addition, the memcpy helper function now creates and destroys
an ol queue, since they are cheap to create and we don't need it to
hang around.

In addition, flags are now parsed by urQueueCreate and can be queried
with urQueueGetInfo. This determines whether the queue is in-order
or out-of-order.

@RossBrunton RossBrunton requested a review from a team as a code owner July 21, 2025 14:03
@RossBrunton RossBrunton requested a review from callumfare July 21, 2025 14:03
@@ -101,6 +101,10 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(ur_device_handle_t hDevice,
case UR_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT:
return ReturnValue(uint32_t{0});
case UR_DEVICE_INFO_QUEUE_PROPERTIES:
case UR_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES:
case UR_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, I'm not entirely sure what the difference between "on host" and "on device" properties are.

Out of order support is similar to CUDA and HIP; there's a pool of
queues, and incoming tasks are allocated to the queues round-robin
style. In addition, the memcpy helper function now creates and destroys
an ol queue, since they are cheap to create and we don't need it to
hang around.

In addition, flags are now parsed by `urQueueCreate` and can be queried
with `urQueueGetInfo`. This determines whether the queue is in-order
or out-of-order.
@RossBrunton
Copy link
Contributor Author

@intel/llvm-gatekeepers Please merge.

@sommerlukas sommerlukas merged commit 05538e0 into intel:sycl Jul 24, 2025
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants