Skip to content
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][Graph] Implement dynamic command-groups #380

Closed
wants to merge 4 commits into from
Closed

Conversation

EwanC
Copy link
Collaborator

@EwanC EwanC commented Oct 16, 2024

Implementation of dynamic kernel binaries from intel#14896

Same git branch of used in intel#15700 for CI testing, but can do internal team reviews on this fork to make that PR look less messy.

@EwanC EwanC added the Graph Implementation Related to DPC++ implementation and testing label Oct 16, 2024
@EwanC EwanC force-pushed the ewan/dyn_cgf_impl branch 2 times, most recently from 6f38259 to 62c50d3 Compare October 17, 2024 14:59
sycl/source/detail/scheduler/scheduler.hpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.hpp Outdated Show resolved Hide resolved
sycl/include/sycl/ext/oneapi/experimental/graph.hpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
sycl/test-e2e/Graph/Update/dyn_cgf_overwrite.cpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
@EwanC EwanC force-pushed the ewan/dyn_cgf_impl branch 7 times, most recently from 12decab to 319c43e Compare October 23, 2024 13:58
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Show resolved Hide resolved
sycl/source/detail/graph_impl.cpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.hpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.hpp Outdated Show resolved Hide resolved
sycl/source/detail/graph_impl.hpp Outdated Show resolved Hide resolved
Implement Dynamic Command-Group feature specified in
PR [[SYCL][Graph] Add specification for kernel binary updates](intel#14896)

This feature enables updating `ur_kernel_handle_t` objects in graph nodes
between executions as well as parameters and execution range of nodes.

This functionality is currently supported on CUDA & HIP which are used
for testing in the new E2E tests. Level Zero support will follow
shortly, resulting in the removal of the `XFAIL` labels from the E2E
tests.

The code for adding nodes to a graph has been refactored to split out
verification of edges, and marking memory objects used in a node, as
separate helper functions. This allows path for adding a command-group
node to do this functions over each CG in the list before creating the
node itself.

The `dynamic_parameter_impl` code has also been refactored so the code
is shared for updating a dynamic parameter used in both a regular kernel
node and a dynamic command-group node.

See the addition to the design doc for further details on the
implementation.
Create helper function for getting UR details out of CG.
@EwanC
Copy link
Collaborator Author

EwanC commented Nov 1, 2024

I've taken the upstream PR for this git branch out of draft, as I want to get some llvm-reviewers-runtime reviewer group feedback now to raise any possible concerns they have. I'll keep this fork PR open until Fábio comes back next week and we can close out his comment threads.

@EwanC EwanC closed this Nov 5, 2024
@EwanC
Copy link
Collaborator Author

EwanC commented Nov 5, 2024

Closing in favor of upstream PR intel#14896

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Graph Implementation Related to DPC++ implementation and testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants