Issue #20
Welcome to LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella. This issue covers the period from September 10 to September 23 2021.
We welcome your feedback and suggestions. Let us know if we missed anything interesting, or want us to bring attention to your (sub)project, revisions under review, or proposals. Please see the bottom of the page for details on how to submit suggestions and contribute.
Industry News and Conferences
- Talks from the X.Org Developer Conference 2021 are available on YouTube.
LLVM and Clang
Discussions
- Alexey Bader became the code owner for SYCL, a single-source C++ programming environment for various accelerators.
- Caleb Zulawski maintains a cross-compile toolchain and asked about changing compilers/sysroots to simplify building multiple runtimes with
LLVM_RUNTIME_TARGETS
. There are no replies at the time of writing.
Commits
RegAllocGreedy
now accounts for reserved registers, which may be unavailable, in its heuristics. The change dramatically reduces the number of spills in an AMDGPU test and has little effect on CPU targets. D108578
MLIR
Discussions
- Weiwei asked about encoding SPIR-V global variable locations in SPIR-V to LLVM conversion. Lei Zhang pointed out that this is related to the unfinished support for the graphics flavor of SPIR-V. Weiwei created a draft patch that propagates the
location
attribute fromspv.GlobalVariable
tollvm.mlir.global
.
Commits
OpenMP (Target Offloading)
Discussions
Commits
- OpenMP 5.0 metadirectives are now supported. D91944
External Compilers
LLPC
- LLPC learned to cache compiled shader stages that contain global constants. This brought a major increase in stage cache hits in internal tests.
Mesa
- 16-bit floating point types (FP16) are now supported in OpenGL/OpenCL/Vulkan llvmpipe-based drivers.