-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Change trivially_copyable to device_copyable #8826
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable to me. Tagging @gmlueck and @AlexeySachkov just in case..
The change seem to be ok from the point of view of our implementation, where we use custom kernel to implement I wouldn't say that the spec is clear here as well, it says:
Is Since SYCL interface is a C++ interface accepting a reference to generic type I'm still fine with merging this PR, though: it doesn't make the situation worse and actually relaxes restrictions we impose on |
I agree that this is unclear in the spec. I was looking at the git history of the spec, and I see that we used to say that I think it is correct to restrict I think we should make the same clarification for this member function of
Do you have any objections if I clarify the spec for both |
Sorry I thought that I had responded to this.
Yes @gmlueck I'd be happy if you clarified this in the spec. I have also added some |
I submitted a PR to the spec: KhronosGroup/SYCL-Docs#425 |
Failure in post-commit for E2E tests on Windows:
https://github.com/intel/llvm/actions/runs/5244433715/jobs/9471540544 @hdelan could you please address? Upd: post commit on Linux is also failing: https://github.com/intel/llvm/actions/runs/5245429333/jobs/9473293760 |
#9829 fixes the E2E test failure caused by this PR. |
Sorry I was on holiday the last few days. Is this resolved by #9829 ? |
cgh.fill(...)
was failing whenT
is asycl::vec
type, sincesycl::vec
types have no specialization forstd::is_trivially_copyable
. Sincedevice_copyable
is a sycl superset of trivially copyable we should use this instead in sycl headers.I can add a test to check that
cgh.fill
works for vec types if necessary. Let me know if I should do this.There are some other occurrences of
std::is_trivially_copyable
in the sycl headers. Let me know if I should replace more incidences.