Skip to content

[SYCL][CUDA] Add experimental context and device interop #6202

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 12 commits into from
Jun 10, 2022

Conversation

AidanBeltonS
Copy link
Contributor

This PR is adds part of the CUDA-backend spec interop proposed in KhronosGroup/SYCL-Docs#197. The changes work with the CUDA CTS interop checks KhronosGroup/SYCL-CTS#336.

This PR just adds the context and device interop. Further PRs will be submitted to fill in other missing interop functionality.

The changes are experimental so as to not break oneMKL, and oneDNN which use CUDA interops.

The experimental interop is enabled by defining the SYCL_EXT_ONEAPI_BACKEND_CUDA_EXPERIMENTAL macro and including the header file sycl/ext/oneapi/experimental/backend/cuda.hpp.

llvm-test-suite: intel/llvm-test-suite#1041

@AidanBeltonS
Copy link
Contributor Author

@smaslov-intel I have split the context and device changes off from #6162.

I think it makes sense to initially have just this one PR so as to prevent each split introducing the same changes. Then after this is merged I can make multiple PRs that are less likely to conflict.

steffenlarsen
steffenlarsen previously approved these changes Jun 7, 2022
Copy link
Contributor

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

LGTM!

@AidanBeltonS
Copy link
Contributor Author

@pvchupin would it be possible to rerun the test? Looking at the failing llvm-test-suite run it appears to be due to timeout, and the test is passing for me locally.

@pvchupin
Copy link
Contributor

pvchupin commented Jun 9, 2022

Restarted.

@AidanBeltonS
Copy link
Contributor Author

/verify with intel/llvm-test-suite#1041

@pvchupin pvchupin merged commit f0df89a into intel:sycl Jun 10, 2022
pvchupin pushed a commit to intel/llvm-test-suite that referenced this pull request Jun 10, 2022
This PR add testing of the CUDA backend experimental interop functionality.

It checks that valid types are returned and that the created SYCL objects can be used to do work.

Depends on: intel/llvm#6202
steffenlarsen added a commit to steffenlarsen/llvm that referenced this pull request Jun 10, 2022
intel#6202 added a new specialization for
getPlugin with the CUDA backend. This commit adds the missing symbol to
the windows dump test.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
pvchupin pushed a commit that referenced this pull request Jun 10, 2022
#6202 added a new specialization for
getPlugin with the CUDA backend. This commit adds the missing symbol to
the windows dump test.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…m-test-suite#1041)

This PR add testing of the CUDA backend experimental interop functionality.

It checks that valid types are returned and that the created SYCL objects can be used to do work.

Depends on: intel#6202
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