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] Bump UR commit to OpenCL kernel update #12724

Merged
merged 1 commit into from
Apr 24, 2024

Conversation

EwanC
Copy link
Contributor

@EwanC EwanC commented Feb 15, 2024

Test the UR commit that enables updating kernel commands in a command-buffer in the OpenCL adapter oneapi-src/unified-runtime#1358

EwanC added a commit to Bensuo/unified-runtime that referenced this pull request Feb 27, 2024
Implement the API for updating the kernel commands in a command-buffer
defined by oneapi-src#1089 for
the OpenCL adapter.

However, the following changes to the UR kernel update API have been
made based on implementation experience:

1. Forbid updating the work-dim of the kernel, see KhronosGroup/OpenCL-Docs#1057
2. Remove struct fields to update exec info, after [DPC++ implementation
   prototype](intel/llvm#12840) shows this isn't
   needed.

This adapter implementation depends on support for the
[cl_khr_command_buffer_mutable_dispatch](https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch)
extension.

Tested on Intel GPU/CPUs OpenCL implementations with the
[command-buffer emulation
layer](https://github.com/bashbaug/SimpleOpenCLSamples/tree/main/layers/10_cmdbufemu).

```bash
$ OPENCL_LAYERS=<path/to/SimpleOpenCLSamples/build/layers/10_cmdbufemu/libCmdBufEmu.so> ./bin/test-exp_command_buffer --platform="Intel(R) OpenCL Graphics"
```

DPC++ PR intel/llvm#12724
EwanC added a commit to Bensuo/unified-runtime that referenced this pull request Mar 14, 2024
Implement the API for updating the kernel commands in a command-buffer
defined by oneapi-src#1089 for
the OpenCL adapter.

However, the following changes to the UR kernel update API have been
made based on implementation experience:

1. Forbid updating the work-dim of the kernel, see KhronosGroup/OpenCL-Docs#1057
2. Remove struct fields to update exec info, after [DPC++ implementation
   prototype](intel/llvm#12840) shows this isn't
   needed.
3. Forbid changing the local work size from user to impl defined and
   vice-versa. See discussion in [L0 implementation
PR](oneapi-src#1353 (comment)).

This adapter implementation depends on support for the
[cl_khr_command_buffer_mutable_dispatch](https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch)
extension.

Tested on Intel GPU/CPUs OpenCL implementations with the
[command-buffer emulation
layer](https://github.com/bashbaug/SimpleOpenCLSamples/tree/main/layers/10_cmdbufemu).

```bash
$ OPENCL_LAYERS=<path/to/SimpleOpenCLSamples/build/layers/10_cmdbufemu/libCmdBufEmu.so> ./bin/test-exp_command_buffer --platform="Intel(R) OpenCL Graphics"
```

DPC++ PR intel/llvm#12724
@EwanC EwanC force-pushed the ewan/opencl_update_ur_bump branch from 96fce7b to 011dfc3 Compare March 15, 2024 08:59
EwanC added a commit to Bensuo/unified-runtime that referenced this pull request Mar 25, 2024
Implement the API for updating the kernel commands in a command-buffer
defined by oneapi-src#1089 for
the OpenCL adapter.

However, the following changes to the UR kernel update API have been
made based on implementation experience:

1. Forbid updating the work-dim of the kernel, see KhronosGroup/OpenCL-Docs#1057
2. Remove struct fields to update exec info, after [DPC++ implementation
   prototype](intel/llvm#12840) shows this isn't
   needed.
3. Forbid changing the local work size from user to impl defined and
   vice-versa. See discussion in [L0 implementation
PR](oneapi-src#1353 (comment)).

This adapter implementation depends on support for the
[cl_khr_command_buffer_mutable_dispatch](https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch)
extension.

Tested on Intel GPU/CPUs OpenCL implementations with the
[command-buffer emulation
layer](https://github.com/bashbaug/SimpleOpenCLSamples/tree/main/layers/10_cmdbufemu).

```bash
$ OPENCL_LAYERS=<path/to/SimpleOpenCLSamples/build/layers/10_cmdbufemu/libCmdBufEmu.so> ./bin/test-exp_command_buffer --platform="Intel(R) OpenCL Graphics"
```

DPC++ PR intel/llvm#12724
@EwanC EwanC force-pushed the ewan/opencl_update_ur_bump branch from 011dfc3 to 2104f6b Compare March 25, 2024 09:49
@EwanC EwanC force-pushed the ewan/opencl_update_ur_bump branch from 2104f6b to f42df41 Compare March 25, 2024 10:02
@EwanC EwanC force-pushed the ewan/opencl_update_ur_bump branch from 28ff63a to d081ff0 Compare April 23, 2024 10:01
@EwanC EwanC force-pushed the ewan/opencl_update_ur_bump branch from d081ff0 to 84909c0 Compare April 23, 2024 10:38
@EwanC EwanC marked this pull request as ready for review April 23, 2024 10:45
@EwanC EwanC requested review from a team as code owners April 23, 2024 10:45
Test the UR commit that enables updating kernel commands
in a command-buffer in the OpenCL adapter.
@kbenzie
Copy link
Contributor

kbenzie commented Apr 23, 2024

@intel/llvm-gatekeepers please merge

@EwanC
Copy link
Contributor Author

EwanC commented Apr 24, 2024

ping @intel/llvm-gatekeepers for merging, this UR bump also includes a Jenkins/Precommit fix that could unblock other PRs

@sommerlukas sommerlukas merged commit 719207d into intel:sycl Apr 24, 2024
13 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.

4 participants