Skip to content

Commit 75302c5

Browse files
authored
[SYCL][CUDA] ext_oneapi_cuda make_device no longer duplicates sycl::device (#7550)
Fixes #6055 for ext_oneapi_cuda backend. Tested with intel/llvm-test-suite#1419. Signed-off-by: JackAKirk <jack.kirk@codeplay.com>
1 parent 28d04a5 commit 75302c5

File tree

1 file changed

+7
-0
lines changed
  • sycl/include/sycl/ext/oneapi/experimental/backend

1 file changed

+7
-0
lines changed

sycl/include/sycl/ext/oneapi/experimental/backend/cuda.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ interop_handle::get_native_context<backend::ext_oneapi_cuda>() const {
6969
template <>
7070
inline device make_device<backend::ext_oneapi_cuda>(
7171
const backend_input_t<backend::ext_oneapi_cuda, device> &BackendObject) {
72+
auto devs = device::get_devices(info::device_type::gpu);
73+
for (auto &dev : devs) {
74+
if (dev.get_backend() == backend::ext_oneapi_cuda &&
75+
BackendObject == get_native<backend::ext_oneapi_cuda>(dev)) {
76+
return dev;
77+
}
78+
}
7279
pi_native_handle NativeHandle = static_cast<pi_native_handle>(BackendObject);
7380
return ext::oneapi::cuda::make_device(NativeHandle);
7481
}

0 commit comments

Comments
 (0)