oneDPL
oneDPL copied to clipboard
Improvements / fixes to device copyable specializations
@MikeDvorskiy and I discussed some issues with device copyable. He is working on a PR to resolve them.
The 2 issues we found which need addressing are:
- Types with non-type template parameters (
transform_reduce
), can not match variadic typename pack - Types which include template parameters which should not be checked (anything with an
ExecutionPolicy
, which includes sycl::queue for device policies, which is not device copyable)
Also, with these changes in mind, we are looking to embed the device copyable specialization in with the type definitions. This makes things more clear, and reduces the maintenance burden of maintaining extra forward declarations in sycl_traits.h
There is a prototype to fix the issue: https://github.com/oneapi-src/oneDPL/pull/1513 It is we can do the best on the current moment.
Addressed in #1521