Welcome to LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella. This issue covers the period from April 16 to April 29 2022.

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 Community Events

LLVM and Clang

Discussions

Commits

  • Patches for the SPIR-V backend have started landing. D115009
  • Patches for DXIL opaque pointer support are still under review.
    • Update DXIL Prepare to emit no-op bitcasts. D122269
    • Convert opaque to typed pointers in DXIL emission. D122270
  • Clang patches are under review for HLSL support.
    • Adding driver options to set the DXIL validation version. D123884
  • Support HLSL access specifier behavior has landed. D124487
  • Driver support for compiling CUDA / HIP with the new driver has landed. Full linking support is still in review. D120272
  • Introduced the --offload-new-driver and --no-offload-new-driver flags to enable / disable the new driver generically. D123325
  • The AMDGPU GFX11 subtarget started landing. D124536, D124537
  • NTVPTX tests were updated to use the ptxas proprietary compiler to catch errors in the PTX output from llc. The location of the tool can be specified via a CMake option or an environment variable. D121727

MLIR

Discussions

Commits

  • SPIR-V conversion now supports memref.alloca and vector.reduction. D124542, D124380
  • Unnecessary layout decorations are now removed for storage classes like Function, Private, etc. in SPIR-V. D124543

OpenMP (Target Offloading)

Discussions

Commits

  • The LIBOMPTARGET_INFO support now prints the name of globals declared on the device. D124381
  • The new clang driver is now the default for OpenMP. It supports LTO with -foffload-lto and static library builds. D122831
  • Compiling NVPTX offloading in LTO-mode now uses PTXAS’s non-rdc mode if all inputs are bitcode. D124292
  • Added support for interoperability with CUDA. This allows OpenMP to call CUDA device functions and vice-versa. D120273

External Compilers

LLPC