-
Notifications
You must be signed in to change notification settings - Fork 772
[SYCL-PTX] Add intermediate layer to libclc to ease type management #1712
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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Start to drop the clc macro approach of builtin declaration in favor of a generated apprach. The header is generated using the information present in clang/lib/Sema/SPIRVBuiltins.td Co-Authored-By: David Wood <david.wood@codeplay.com> Signed-off-by: Victor Lomuller <victor@codeplay.com>
…to handle signedness Co-Authored-By: David Wood <david.wood@codeplay.com> Signed-off-by: Victor Lomuller <victor@codeplay.com>
Co-Authored-By: David Wood <david.wood@codeplay.com> Signed-off-by: Victor Lomuller <victor@codeplay.com>
d9dbf0f
to
366f973
Compare
Co-Authored-By: David Wood <david.wood@codeplay.com> Signed-off-by: Victor Lomuller <victor@codeplay.com>
Signed-off-by: Victor Lomuller <victor@codeplay.com>
366f973
to
f855285
Compare
bader
previously approved these changes
May 26, 2020
alexbatashev
previously approved these changes
May 26, 2020
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.
LGTM
bader
previously approved these changes
May 27, 2020
Signed-off-by: Victor Lomuller <victor@codeplay.com>
10cb903
to
2945f87
Compare
alexbatashev
approved these changes
May 27, 2020
bader
approved these changes
May 27, 2020
alexbatashev
pushed a commit
to alexbatashev/llvm
that referenced
this pull request
Jun 2, 2020
* upstream/sycl: [SYCL] Handle KernelName templated using type with enum template argument (intel#1780) [SYCL] Fix KernelNameInfo generated for empty template parameter pack (intel#1775) [SYCL] Do not export utility methods from SYCLMemObjT (intel#1768) [Driver][SYCL] Fix processing when using -fsycl-link (intel#1765) [SYCL][NFC] Remove outdated confusing comment (intel#1779) [SYCL][NFC] Wrap classes in .cpp into a namespace to disable external linkage. (intel#1776) [SYCL][CUDA] Fixes CUDA unit tests that uses SYCL directly (intel#1763) [SYCL][Doc] Fix default device selection rules doc (intel#1769) [SYCL][CUDA] Remove pi Event Callback implementation (intel#1735) [SYCL] Throw exception if range/offset of kernel execution exceeds INT_MAX (intel#1713) [SYCL-PTX] Add intermediate layer to libclc to ease type management (intel#1712)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This patch introduce a "core" layer, with function starting by
__clc_
, to implement builtin functions common to opencl and SPIR-V.Some SPIR-V builtins are prefixed by a
s
oru
to describe the type of the input. From the implementation point of view this serves no purpose (as it is carried by the type) and leads to a more complex usage of the builtins.SPIR-V conversion function are expressed using various names, conversion implementation are now implemented as
__clc_convert_<desc>
and the opencl and SPIR-V convert function are implemented in terms of__clc_convert_*
functionsNote: this patch introduce a generated header (
spirv_builtins.h
), the generator will be upstreamed separately.