llvm icon indicating copy to clipboard operation
llvm copied to clipboard

[SYCL][Graph] Implement dynamic command-groups

Open EwanC opened this issue 1 year ago • 0 comments

Implement Dynamic Command-Group feature specified in PR [SYCL][Graph] Add specification for kernel binary updates

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 with tracker number 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.

EwanC avatar Oct 15 '24 10:10 EwanC