[llvm-dev] LLVM GPU News Issue #1, December 11 2020

Jakub (Kuba) Kuderski via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 11 09:26:43 PST 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>


More information about the llvm-dev mailing list