Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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] Implement backend content extension #16633
base: sycl
Are you sure you want to change the base?
[SYCL] Implement backend content extension #16633
Changes from 23 commits
464174d
217270c
776a3ed
3080741
12bdf3f
a4f6372
c15a31a
0ba58c7
50018cb
b20f042
2c7b110
b884eec
36f4095
5d4a6bf
273f6df
192cf75
5d7d500
5050a3c
ab765f9
e8be859
fa68a24
74c0772
78e7ae6
b2594e8
5b88761
ccdd15c
e4914b8
21f4a9b
91853e0
70c168a
a43e3b4
cc5189e
7b8458c
ab163f7
247932e
688521d
c1a5ea7
bb5b787
a3f837d
d6a2ca5
d5c214c
587941f
2e38117
4ee145e
3308fac
bc695cf
3b2691f
cf94a3e
743c9a7
97637cf
afe72b8
d1f2644
910ce34
d267155
a9e1e21
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
This
#ifdef
suggests that there is a way to build SYCL RT library which won't have all symbols provided by the header files. I don't think that we should allow for a possibility like that.I would drop those
#ifdef
s from the library code, effectively highlighting that presence ofstd::span
is a requirement for building SYCL RT library. The library will always provide all API endpoints which are exposed through public SYCL header files, even if user application is not built withstd::span
support.This will require us to build SYCL RT with C++20 enabled which may not be desirable, but in that case we should use a different interface in the library and covert to
std::span
in headers. For example,device_image_plain::ext_oneapi_get_backend_content_view
could return a pair of pointers which would be turned intostd::span
in SYCL headers. That will allow us to provide this API endpoint, whilst maintaining buildability of SYCL RT library with older C++ standards. The latter will be important for the upstreaming, because the upstream LLVM is expected to be buildable by pretty old toolchains, see Getting StartedThere 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.
Thanks for the comment Alexey!
I've changed
device_image_plain::ext_oneapi_get_backend_content_view
to instead return a pair of pointers and removed the dependence onstd::span
. The library will therefore always correspond to the API. Let me know if this looks ok!