<div dir="ltr">Hi folks,<br><br>The 12th issue of LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella, is now available at:<br><<a href="https://llvm-gpu-news.github.io/2021/05/21/issue-12.html">https://llvm-gpu-news.github.io/2021/05/21/issue-12.html</a>>.<div><br>I also pasted the content below, in case you prefer to read in your email client.<br><div><br>-Jakub</div></div><div><br></div><div>======================================================================<br><br># LLVM GPU News Issue #12, May 21 2021<br>Authors: Jakub Kuderski, Lei Zhang</div><div><br>Welcome to LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella.<br>This issue covers the period from April 30 to May 20 2021.<br><br>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.<br><br><br>## Industry News and Conference Talks<br><br>*  The X.Org Developers' Conference 2021 is now [accepting submissions and is open for registration](<a href="https://lists.freedesktop.org/archives/wayland-devel/2021-May/041828.html">https://lists.freedesktop.org/archives/wayland-devel/2021-May/041828.html</a>). The conference will happen virtually on September 15-17. There is no registration fee.<br>*  Portable Computing Language (PoCL) v1.7, a portable open-source OpenCL implementation, [has been released](<a href="https://lists.llvm.org/pipermail/llvm-dev/2021-May/150654.html">https://lists.llvm.org/pipermail/llvm-dev/2021-May/150654.html</a>). The new release features Clang/LLVM 12.0 support and can execute SPIR-V binaries on CPUs. The project is looking for people interested in taking the roles of ARM and RISC-V CPU maintainers.<br>*  ROCm 4.2 [has been released](<a href="https://github.com/RadeonOpenCompute/ROCm/blob/f7b3a38d4988d41247ded9d4fdb3a405e90cc089/AMD_ROCm_Release_Notes_v4.2.pdf">https://github.com/RadeonOpenCompute/ROCm/blob/f7b3a38d4988d41247ded9d4fdb3a405e90cc089/AMD_ROCm_Release_Notes_v4.2.pdf</a>). The new HIP enhancements include target platform macros for AMD and Nvidia, platform-specific include directories, and extended support for Stream Memory Operations that enable direct synchronization between network nodes and GPU.<br>*  Nvidia proposed a new Vulkan extension to allow application to import CUDA binaries ([cubin ELF files](<a href="https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#cuda-binary">https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#cuda-binary</a>)) and execute them.<br><br><br>##  LLVM and Clang<br><br>### Discussions<br><br>*  Reshabh Kumar Sharma revived the RFC on [implementing the sanitizer runtimes for heterogeneous devices](<a href="https://lists.llvm.org/pipermail/llvm-dev/2021-May/150490.html">https://lists.llvm.org/pipermail/llvm-dev/2021-May/150490.html</a>). The idea is to isolate the changes using a new macro, e.g., `SANITIZER_AMDGPU`. Reshabh is requesting feedback on this idea. There are no replies as of writing.<br><br>### Commits<br><br>*  NVPTX intrinsics for CUDA's [`redux.sync`](<a href="https://reviews.llvm.org/D100124">https://reviews.llvm.org/D100124</a>) and [`cp.async`](<a href="https://reviews.llvm.org/D100394">https://reviews.llvm.org/D100394</a>) were added as Clang target builtins.<br>*  A few optimization passes got [disabled when compiling for AMDGPU with `-O1`](<a href="https://reviews.llvm.org/D101414">https://reviews.llvm.org/D101414</a>) to reduce compilation times.<br>*  AMDGPU [support for architected flat scratch](<a href="https://llvm.org/docs/AMDGPUUsage.html#processors">https://llvm.org/docs/AMDGPUUsage.html#processors</a>): readonly flat scratch register initialized by the SPI.<br>*  New [AMDGPU gfx1034 target](<a href="https://reviews.llvm.org/D102306">https://reviews.llvm.org/D102306</a>) was added to Clang/LLVM. The [list of AMDGPU processors](<a href="https://llvm.org/docs/AMDGPUUsage.html#processors">https://llvm.org/docs/AMDGPUUsage.html#processors</a>) lists gfx1034 as an unreleased discrete RDNA2 GPU.<br><br><br>## MLIR<br><br>### Discussions<br><br>### Commits<br><br>*  warp synchronous matrix-multiply accumulate ops [landed](<a href="https://reviews.llvm.org/D95330">https://reviews.llvm.org/D95330</a>) in the GPU dialect.<br>*  `spv.BranchConditional`’s (de)serialization is properly [implemented](<a href="https://reviews.llvm.org/D101602">https://reviews.llvm.org/D101602</a>) now.<br>*  More progress on supporting graphics in SPIR-V: `spv.ImageQuerySize` is [defined](<a href="https://reviews.llvm.org/D102029">https://reviews.llvm.org/D102029</a>) now.<br>*  A few corner cases in vector/std to SPIR-V conversion are addressed.<br><br><br>## OpenMP (Target Offloading)<br><br>### Discussions<br><br>*  Jon Chesterfield proposed Johannes Doerfert as the [code owner for OpenMP offloading](<a href="https://lists.llvm.org/pipermail/llvm-dev/2021-May/150602.html">https://lists.llvm.org/pipermail/llvm-dev/2021-May/150602.html</a>). All replies are in favor so far.<br><br>### Commits<br><br>*  `unified_shared_memory` is now [supported for Pascal-generation Nvidia GPUs](<a href="https://reviews.llvm.org/D101595">https://reviews.llvm.org/D101595</a>).<br><br><br>## External Compilers<br><br>### LLPC<br><br>*  A new ELF disassembler, `lgcdis`, [has been added](<a href="https://github.com/GPUOpen-Drivers/llpc/pull/1241">https://github.com/GPUOpen-Drivers/llpc/pull/1241</a>). The disassembler can be used either through a standalone tool or as a library, potentially replacing existing non-LLVM-based ELF dumpers. Compared to `llvm-objdump`, the new disassembler can decode [PAL](<a href="https://github.com/GPUOpen-Drivers/pal">https://github.com/GPUOpen-Drivers/pal</a>) metadata.<br><br>### Mesa<br><br><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div>Jakub Kuderski</div></div></div>