Skip to content

[UR][Graph] Strengthen in-order command-buffer property #18330

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

Closed
EwanC opened this issue May 6, 2025 · 1 comment
Closed

[UR][Graph] Strengthen in-order command-buffer property #18330

EwanC opened this issue May 6, 2025 · 1 comment

Comments

@EwanC
Copy link
Contributor

EwanC commented May 6, 2025

The in-order property when passed to on UR command-buffer creation is currently specified as

[in] Commands in a command-buffer may be executed in-order without explicit dependencies.

This is a hint that says an adapter may ignore the sync points a user passes, however valid UR usage is to still always pass sync-points with this property, as enforced with by the UR CTS tests.

The requirement to pass sync points even when an in-order UR command-buffer is confusing to users, who are likely to get this wrong and it work by accident (@EwanC has manually had to catch this in PR review a few times). It may also inefficient in that the SYCL RT needs to track the sync points of previous commands.

This task is to improve the UR command-buffer feature so that sync points are always ignored when an in-order command-buffer is created:

  • Update spec with above behavior.
  • Expand on in-order property description in doxygen comments with that info.
  • Add UR CTS tests creating an in-order command-buffer without sync points.
  • Update adapters to implement this behaviour.
    • CUDA - No native CUDA-Graph property, track last node created in adapter and add implicit dependency.
    • HIP - No native HIP-Graph property, track last node created in adapter and add implicit dependency.
    • Level-Zero - If in-order command-lists available in L0 driver use that, otherwise track last node create and add dependency on new node.
    • OpenCL - No change, in-order command-buffer/command-queue always available to use.
@EwanC EwanC self-assigned this May 6, 2025
@EwanC EwanC changed the title [UR][Graph] Strengthen in-order command-buffer property to be more than a hin [UR][Graph] Strengthen in-order command-buffer property May 6, 2025
EwanC added a commit to reble/llvm that referenced this issue May 12, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 13, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 13, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 13, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 13, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 14, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 14, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
EwanC added a commit to reble/llvm that referenced this issue May 14, 2025
Actions issue intel#18330 to
enhance the semantics of the UR command-buffer in-order property
such that sync-point dependencies will always be ignored.
sommerlukas pushed a commit that referenced this issue May 15, 2025
Closes issue #18330 to enhance the
semantics of the UR command-buffer in-order property such that
sync-point dependencies will always be ignored.

Also fixes up an artifact in the UR command-buffer spec where it says
that descriptors to the command-buffer creation API can be optional,
when after #17058 they are mandatory.
@EwanC
Copy link
Contributor Author

EwanC commented May 15, 2025

Closed by #18444

@EwanC EwanC closed this as completed May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant