LLVM, winner of the 2012 ACM Software System Award, has become an integral part of the software-development ecosystem for optimizing compilers, dynamic-language execution engines, source-code analysis and transformation tools, debuggers and linkers, and a whole host of programming-language and toolchain-related components. Now heavily used in both academia and industry, where it allows for rapid development of production-quality tools, LLVM is increasingly used in work targeted at high-performance computing. Research in, and implementation of, programming-language analysis, compilation, execution, and profiling has clearly benefited from the availability of a high-quality, freely-available infrastructure on which to build.
LLVM-HPC2 is the second workshop specifically focusing on research making use of the LLVM compiler infrastructure in High-Performance Computing (HPC). The call for papers attracted twelve submissions, twice as many as the inaugural workshop, and after peer review by the program committee, seven of these were accepted. The accepted papers cover a wide variety of topics: optimization and validation of communications and resiliency, bringing OpenMP to LLVM, optimization and analysis of numeric kernels, and attaining high performance through just-in-time (JIT) compilation. We expect that all of these topics will be of considerable interest to the wider HPC community.
Proceeding Downloads
LLVM-based communication optimizations for PGAS programs
While Partitioned Global Address Space (PGAS) programming languages such as UPC/UPC++, CAF, Chapel and X10 provide high-level programming models for facilitating large-scale distributed-memory parallel programming, it is widely recognized that compiler ...
LLVM parallel intermediate representation: design and evaluation using OpenSHMEM communications
We extend the LLVM intermediate representation (IR) to make it a parallel IR (LLVM PIR), which is a necessary step for introducing simple and generic parallel code optimization into LLVM. LLVM is a modular compiler that can be efficiently and easily ...
MPI-checker: static analysis for MPI
This paper presents MPI-Checker, a static analysis checker to verify the correct usage of the MPI API in C and C++ code, based on Clang's Static Analyzer. The checker works with path-sensitive as well as with non-path-sensitive analysis which is purely ...
FITL: extending LLVM for the translation of fault-injection directives
The frequency of hardware errors in HPC systems continues to grow as system designs evolve toward exascale. Tolerating these errors efficiently and effectively will require software-based resilience solutions. With this requirement in mind, recent ...
Integrating GPU support for OpenMP offloading directives into Clang
- Carlo Bertolli,
- Samuel F. Antao,
- Gheorghe-Teodor Bercea,
- Arpith C. Jacob,
- Alexandre E. Eichenberger,
- Tong Chen,
- Zehra Sura,
- Hyojin Sung,
- Georgios Rokos,
- David Appelhans,
- Kevin O'Brien
The LLVM community is currently developing OpenMP 4.1 support, consisting of software improvements for Clang and new runtime libraries. OpenMP 4.1 includes offloading constructs that permit execution of user selected regions on generic devices, external ...
SKA: static kernel analysis using LLVM IR
We propose to fundamentally change the way in which application developers write and optimize their codes by introducing a new stage to the development process that provides feedback both on the transformations performed by the compiler and expected ...
Numba: a LLVM-based Python JIT compiler
Dynamic, interpreted languages, like Python, are attractive for domain-experts and scientists experimenting with new ideas. However, the performance of the interpreter is often a barrier when scaling to larger data sets. This paper presents a just-in-...
Cited By
-
O’Brien J, Kerzendorf W, Fullard A, Pakmor R, Buchner J, Vogl C, Chen N, van der Smagt P, Williamson M and Singhal J (2024). 1991T-Like Type Ia Supernovae as an Extension of the Normal Population, The Astrophysical Journal, 10.3847/1538-4357/ad2358, 964:2, (137), Online publication date: 1-Apr-2024.
-
Sasani T, Quinlan A and Harris K (2024). Epistasis between mutator alleles contributes to germline mutation spectrum variability in laboratory mice, eLife, 10.7554/eLife.89096, 12
-
Gerosa D, Fumagalli G, Mould M, Cavallotto G, Monroy D, Gangardt D and De Renzis V (2023). Efficient multi-timescale dynamics of precessing black-hole binaries, Physical Review D, 10.1103/PhysRevD.108.024042, 108:2
-
Landers D, Clancy I, Dunin-Borkowski R, Weber D and Stewart A (2023). TEMGYM Advanced: Software for Electron Lens Aberrations and Parallelised Electron Ray Tracing, Ultramicroscopy, 10.1016/j.ultramic.2023.113738, (113738), Online publication date: 1-Apr-2023.
-
Knabel S, Holwerda B, Nightingale J, Treu T, Bilicki M, Brough S, Driver S, Finnerty L, Haberzettl L, Hegde S, Hopkins A, Kuijken K, Liske J, Pimblett A, Steele R and Wright A (2023). Modelling strong lenses from wide-field ground-based observations in KiDS and GAMA, Monthly Notices of the Royal Astronomical Society, 10.1093/mnras/stad133, 520:1, (804-827), Online publication date: 28-Jan-2023.
Index Terms
- Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
LLVM-HPC'17 | 10 | 9 | 90% |
LLVM '15 | 12 | 7 | 58% |
Overall | 22 | 16 | 73% |