-
Notifications
You must be signed in to change notification settings - Fork 743
2020 04 06 sync
Alexey Bader edited this page Apr 20, 2020
·
3 revisions
- Opens
- Optimizing LLVM IR for SPIR target - status update from Alexey B.
- Patches in review for llorg:
-
https://reviews.llvm.org/D71016 - [SYCL] Implement OpenCL kernel function generation
- Updates from Victor
- https://reviews.llvm.org/D77220 - [SYCL] Enable Open CL types required for implementing the SYCL headers.
-
https://reviews.llvm.org/D74387 - [SYCL] Do not diagnose use of __float128
- Updates from Mariya
-
https://reviews.llvm.org/D71016 - [SYCL] Implement OpenCL kernel function generation
- Patched committed to llorg:
- https://reviews.llvm.org/rGb5a034e771d0e4d7d8e71fc545b230d98e5a1f42 - [SYCL] Implement __builtin_unique_stable_name.
Participants: Alexey Bader (Intel), Mariya Podchischaeva (Intel), Andrew Savonichev (Intel), Victor Lomuller (Codeplay), Michael Wong (Codeplay), Nevin Liber (ANL)
-
Opens
- Mariya: I have an open about address spaces. I've investigated a failure in OpenCL test for this PR: https://github.com/intel/llvm/pull/1039 and it looks like a bug in OpenCL compiler.
- Alexey: Please, try to create an OpenCL reproducer and file a bug to llorg.
-
Optimizing LLVM IR for SPIR target - status update from Alexey B.
- Some details on the current issues blocking us from enabling FE optimizations.
- LLVM transformation insert
llvm.assume
intrinsics into LLVM IR, which translator can't handle ATM. E.g. https://godbolt.org/z/zzMKms. I have a workaround for this issue - ignore llvm.assume during the translation. - Optimizations lead to unsupported integer sizes (e.g.
i3
ori48
). I've opened an issue in LLVM-SPIRV-Translator project - https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/481. I've tried to allow arbitrary integer sizes, but it causes compilation fails with all OpenCL three back-end compilers: CPU, GPU and FPGA. Alternative solution is lower unsupported integer sizes into supported using "legalization" LLVM IR transformation, which might impact FPGA performance (e.g.i3
->i8
requires more HW). - I also added a front-end option allowing to preview that feature, so anyone can try to enable it and see if their workload is affected by the issues above or not. To enable optimizations, just pass -O option with
-Xclang -fsycl-enable-optimizations
.
- LLVM transformation insert
- Some details on the current issues blocking us from enabling FE optimizations.
-
https://reviews.llvm.org/D71016 - [SYCL] Implement OpenCL kernel function generation
- Victor: I'm trying to decouple the attribute from the ComputeCPP, so it can be useful to upstream.
-
https://reviews.llvm.org/D77220 - [SYCL] Enable Open CL types required for implementing the SYCL headers.
- Pending previous patch.
-
https://reviews.llvm.org/D74387 - [SYCL] Do not diagnose use of __float128
- Myriya: I've addressed all the comments. I'll ping reviewers tomorrow.
-
https://reviews.llvm.org/rGb5a034e771d0e4d7d8e71fc545b230d98e5a1f42 - [SYCL] Implement __builtin_unique_stable_name.
- This patch was committed to the clang and can used for "unnamed lambda" feature implementation.