Welcome to the fourth issue of LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella. This issue covers the period from January 8 to January 21 2021.

LLVM GPU News gained a new section: OpenMP Target Offloading, maintained by Johannes Doerfert.

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 Conference Talks

  • Dmitrii Tolmachev published a blog post on real-time image registration on GPU with VkFFT – a self-made Vulkan Fast Fourier Transform library. Image registration is the problem of determining what coordinate system transformation to apply to an image in order to match it against a different image of the same object. Using a highly-optimized FFT implementation on a commodity GPU (Nvidia 1660Ti) allowed Dimitri to run the image registration algorithm in real time. Matching a pair of 1024x1024 screenshots from Cyberpunk 2077 took around 3ms. The readme on Dimitrii’s GitHub mentions that they are looking for a PhD position or a job.

LLVM and Clang

Discussions

Commits

MLIR

Discussions

  • Lenny Guo expressed intention to work on OpenCL conversions via SPIR-V and bring up an mlir-opencl-runner.

Commits

  • The SPIR-V dialect now knows traits like SignedOp, UnsignedOp, and UsableInSpecConstantOp to process ops in these categories uniformly.
  • spv.SpecConstantOperation is fully supported now, including serialization and deserialization.

OpenMP (Target Offloading)

Discussions

  • Discussions usually happen on the mailing list (openmp-dev@lists.llvm.org) or in our weekly “OpenMP in LLVM” meeting, feel free to join in!
  • The LLVM/OpenMP documentation has been online for a few weeks. Initial content is there but the FAQ and other sections are still very much empty; we are looking for volunteers and topics.
  • The memory management APIs proposed for OpenMP 6.0, i.a., to allocate managed memory, are discussed for an (potentially opt-in) inclusion into the LLVM runtime very soon.

Commits

External Compilers

LLPC

Mesa

SYCL