Jakub (Kuba) Kuderski via llvm-dev
2020-Dec-11 17:26 UTC
[llvm-dev] LLVM GPU News Issue #1, December 11 2020
Hi folks, I'm starting a bi-weekly newsletter on all the GPU things under the LLVM umbrella: GPU backends in LLVM, GPU dialects in MLIR, middle-end work related to GPU compilation, external LLVM- and MLIR-based GPU compilers, relevant conference talks, etc. I'm going to publish new issues every other Friday on llvm-dev and a dedicated website: https://llvm-gpu-news.github.io . The first issue is available at: https://llvm-gpu-news.github.io/2020/12/11/issue-1.html. I'm also pasting the content below, in case you prefer to read in your email client. The high-level goals are to surface common themes in GPU compilation for different hardware, and to raise awareness of the general LLVM community about important aspects of GPU compilation. -Jakub =================================================================== # LLVM GPU News Issue #1, December 11 2020 Welcome to the first issue of LLVM GPU News, a bi-weekly newsletter on all the GPU things under the LLVM umbrella. This issues covers the period from November 27 to December 10 2020. 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 * [AMD published the RDNA 2 Instruction Set Architecture manual.]( https://gpuopen.com/rdna2-isa-available/) Some notable changes from the previous GCN ISA are: * ray tracing support, * new dot product ALU operations for accelerated inference and deep learning, * VGPR and LDS allocation-unit size were doubled, * legacy multiply-add instructions were removed (superseded by fused-multiply-add). ## LLVM ### Discussions * Jay Foad ran into [issues with preserved and required transitive analyses in the Legacy Pass Manager]( http://lists.llvm.org/pipermail/llvm-dev/2020-November/146923.html) in AMDGPU. Jay proposes to add a new pass preservation rule, but some existing passes currently violate it. There are no replies as of writing. * Arthur Eubanks is working [towards enabling the New Pass Manager]( http://lists.llvm.org/pipermail/llvm-dev/2020-December/147004.html). Arthur looked into AMDGPU support for the NPN and points out that [passes that depended on `TargetMachine::adjustPassManager` need to be tweaked to work with the NPN]( http://lists.llvm.org/pipermail/llvm-dev/2020-December/147130.html). * João Paulo L. de Carvalho asked about [modeling address space casts in the Scalar Evolution analysis]( http://lists.llvm.org/pipermail/llvm-dev/2020-November/146927.html). This prevents simple SYCL loops from being vectorized. There are no replies as of writing. * Nichols A. Romero proposed to add Fortran tests to the LLVM Test Suite. [The tests will focus on language features, high-performance proxy programs, and OpenMP multi-threading and GPU offloading.]( http://lists.llvm.org/pipermail/llvm-dev/2020-November/146873.html) The response seems overwhelmingly positive so far. ### Commits * (In-review) Ongoing work and discussion on [Adding convergence control operand bundle and intrinsics]( https://reviews.llvm.org/D85603) to LLVM IR. * [Clang Offload Bundler gained AMDGPU code object V4 ABI documentation.]( https://reviews.llvm.org/D92434) * Various fixes to AMDGPU assembler diagnostics: [\[1\]]( https://reviews.llvm.org/D92084), [\[2\]](https://reviews.llvm.org/D92115), [\[3\]]( https://reviews.llvm.org/D92654). * (In-review) [Don't sink ptrtoint/inttoptr sequences into non-noop address space casts.](https://reviews.llvm.org/D92210) This resolves an [illegal memory access with atomic shared memory JuliaGPU bug](https://github.com/JuliaGPU/CUDA.jl/issues/558). * [CUDA/HIP hostness function overloading fixes.]( https://reviews.llvm.org/D80450) A new `-fgpu-exclude-wrong-side-overloads` Clang flag controls the related behavior. ## MLIR ### Discussions ### Commits * [`gpu.allocate` and `gpu.deallocate` ops were added to runtime function calls.](https://reviews.llvm.org/D91698) * The `GpuAsyncRegionPass` learned to [move `gpu.wait` ops from `async.execute` regions to its dependencies]( https://reviews.llvm.org/D90346). This prevents unnecessary host synchronization. ## External Compilers Please submit pointers to your mailing lists, forums, or newsletters if you want your LLVM- or MLIR-based GPU compiler project to be covered in future LLVM GPU News issues. ### CUDA ### JuliaGPU ### LLPC ### Mesa ### SYCL -- Jakub Kuderski -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201211/e67e6207/attachment.html>
Johannes Doerfert via llvm-dev
2020-Dec-11 19:17 UTC
[llvm-dev] LLVM GPU News Issue #1, December 11 2020
Hi Jakub, thanks for this effort, very interesting! OpenMP offloading is actively developed and I was even thinking to produce a irregular OpenMP newsletter. While I might still do, I think we should have the OpenMP GPU content in here as well. What is a good way to do that? ~ Johannes On 12/11/20 11:26 AM, Jakub (Kuba) Kuderski via llvm-dev wrote:> Hi folks, > > I'm starting a bi-weekly newsletter on all the GPU things under the LLVM > umbrella: GPU backends in LLVM, GPU dialects in MLIR, middle-end work > related to GPU compilation, external LLVM- and MLIR-based GPU compilers, > relevant conference talks, etc. I'm going to publish new issues every other > Friday on llvm-dev and a dedicated website: https://llvm-gpu-news.github.io > . > > The first issue is available at: > https://llvm-gpu-news.github.io/2020/12/11/issue-1.html. > I'm also pasting the content below, in case you prefer to read in your > email client. > > The high-level goals are to surface common themes in GPU compilation for > different hardware, and to raise awareness of the general LLVM > community about important aspects of GPU compilation. > > -Jakub > > ===================================================================> > # LLVM GPU News Issue #1, December 11 2020 > > Welcome to the first issue of LLVM GPU News, a bi-weekly newsletter on all > the > GPU things under the LLVM umbrella. This issues covers the period from > November 27 to December 10 2020. > > 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 > * [AMD published the RDNA 2 Instruction Set Architecture manual.]( > https://gpuopen.com/rdna2-isa-available/) > Some notable changes from the previous GCN ISA are: > * ray tracing support, > * new dot product ALU operations for accelerated inference and deep > learning, > * VGPR and LDS allocation-unit size were doubled, > * legacy multiply-add instructions were removed (superseded by > fused-multiply-add). > > ## LLVM > > ### Discussions > * Jay Foad ran into [issues with preserved and required transitive > analyses in the Legacy Pass Manager]( > http://lists.llvm.org/pipermail/llvm-dev/2020-November/146923.html) > in AMDGPU. Jay proposes to add a new pass preservation rule, but some > existing passes currently violate it. > There are no replies as of writing. > * Arthur Eubanks is working [towards enabling the New Pass Manager]( > http://lists.llvm.org/pipermail/llvm-dev/2020-December/147004.html). > Arthur looked into AMDGPU support for the NPN and points out that > [passes that depended on `TargetMachine::adjustPassManager` need to be > tweaked to work with the NPN]( > http://lists.llvm.org/pipermail/llvm-dev/2020-December/147130.html). > * João Paulo L. de Carvalho asked about > [modeling address space casts in the Scalar Evolution analysis]( > http://lists.llvm.org/pipermail/llvm-dev/2020-November/146927.html). > This prevents simple SYCL loops from being vectorized. There are no > replies as of writing. > * Nichols A. Romero proposed to add Fortran tests to the LLVM Test Suite. > [The tests will focus on language features, high-performance proxy > programs, and OpenMP multi-threading and GPU offloading.]( > http://lists.llvm.org/pipermail/llvm-dev/2020-November/146873.html) > The response seems overwhelmingly positive so far. > > ### Commits > * (In-review) Ongoing work and discussion on > [Adding convergence control operand bundle and intrinsics]( > https://reviews.llvm.org/D85603) to LLVM IR. > * [Clang Offload Bundler gained AMDGPU code object V4 ABI documentation.]( > https://reviews.llvm.org/D92434) > * Various fixes to AMDGPU assembler diagnostics: [\[1\]]( > https://reviews.llvm.org/D92084), > [\[2\]](https://reviews.llvm.org/D92115), [\[3\]]( > https://reviews.llvm.org/D92654). > * (In-review) [Don't sink ptrtoint/inttoptr sequences into non-noop > address space casts.](https://reviews.llvm.org/D92210) > This resolves an [illegal memory access with atomic shared memory > JuliaGPU bug](https://github.com/JuliaGPU/CUDA.jl/issues/558). > * [CUDA/HIP hostness function overloading fixes.]( > https://reviews.llvm.org/D80450) > A new `-fgpu-exclude-wrong-side-overloads` Clang flag controls the > related behavior. > > ## MLIR > > ### Discussions > > ### Commits > * [`gpu.allocate` and `gpu.deallocate` ops were added to runtime function > calls.](https://reviews.llvm.org/D91698) > * The `GpuAsyncRegionPass` learned to > [move `gpu.wait` ops from `async.execute` regions to its dependencies]( > https://reviews.llvm.org/D90346). > This prevents unnecessary host synchronization. > > ## External Compilers > > Please submit pointers to your mailing lists, forums, or newsletters if you > want your LLVM- > or MLIR-based GPU compiler project to be covered in future LLVM GPU News > issues. > > ### CUDA > > ### JuliaGPU > > ### LLPC > > ### Mesa > > ### SYCL > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev