I’m pleased to announce the 2024 LLVM Developers’ Meeting program!
As a quick reminder, Early Bird Registration is ending September 20th. This is also the registration deadline to guarantee a t-shirt. Register here:
https://llvm.swoogo.com/2024devmtg/begin
Keynotes:
State of Clang as a C and C++ Compiler
Authors: Aaron Ballman (Intel)
Speaker: Aaron Ballman (Intel)
Rust LLVM
Authors: Nikita Popov (Red Hat)
Speakers: Nikita Popov (Red Hat)
Technical Talks
New llvm-exegesis Support for RISC-V Vector Extension
Authors: Min Hsu (SiFive)
Speaker: Min Hsu (SiFive)
Shardy: An MLIR-based Tensor Partitioning System for All Dialects
Authors: Andy Davis (Google); Bart Chrzaszcz (Google DeepMind); Bill Varcho, Bixia Zheng (Google); Dimitrios Vytiniotis, Dominik Grewe (Google DeepMind); Marcello Maggioni (unaffiliated); Seher Ellis (Google); Tom Natan (Google DeepMind); Tongfei Guo (Google); Yuanzhong Xu (Google DeepMind); Zixuan Jiang (Google)
Speaker: Bart Chrzaszcz (Google DeepMind), Zixuan Jiang (Google)
Two Compilers, One Language, No Specification
Authors: Chris Bieneman (Microsoft)
Speaker: Chris Bieneman (Microsoft)
When unsafe code is slow - Automatic Differentiation in Rust
Authors: Manuel Sebastian Drehwald (University of Toronto)
Speaker: Manuel Sebastian Drehwald (University of Toronto)
(Offload) ASAN via Software Managed Virtual Memory
Authors: Johannes Doerfert, Ethan McDonough, Vidush Singhal (LLNL)
Speaker: Johannes Doerfert (LLNL)
LLVM Premerge Testing: Current State and Next Steps
Authors: Lucile Rose Nihlen (Google)
Speaker: Lucile Rose Nihlen (Google)
The State of Pattern-Based IR Rewriting in MLIR
Authors: Matthias Springer (NVIDIA)
Speaker: Matthias Springer (NVIDIA)
Towards Useful Fast-Math
Authors: Andy Kaylor
Speaker: Andy Kaylor
Floating Point in LLVM: the Good, the Bad, and the Absent
Authors: Joshua Cranmer (Intel)
Speaker: Joshua Cranmer (Intel)
Challenges in Using LLVM as a Quantum Intermediate Representation
Authors: Andrew Litteken, Xin-Chuan Wu, Anne Matsuura (Intel)
Speaker: Andrew Litteken (Intel)
Hand-In-Hand: LLVM-libc and libc++ code sharing
Authors: Michael Jones, Christopher Di Bella (Google)
Speaker: Michael Jones (Google), Christopher Di Bella (Google)
Release Engineering Strategies: How LLVM and GCC Navigate Development
and Maintenance
Authors: David Edelsohn (IBM Research), Tom Stellard (Red Hat)
Speaker: David Edelsohn (IBM Research), Tom Stellard (Red Hat)
Manifesto for faster build times
Authors: Alexandre Ganea (Haven Studios / SIE)
Speaker: Alexandre Ganea (Haven Studios / Sony Interactive Entertainment), Francisco Cabrita (Indie)
Loop Vectorisation: a quantative approach to identify/evaluate opportunities
Authors: Sjoerd Meijer, Madhur Amilkanthwar, Sebastian Pop (NVIDIA)
Speaker: Sjoerd Meijer (NVIDIA)
Generic implementation strategies in Carbon and Clang
Authors: Richard Smith (Google)
Speaker: Richard Smith (Google)
Improving optimized code line table quality
Authors: Orlando Cazalet Hyams, Stephen Tozer, Jeremy Morse (SN Systems (Sony Interactive Entertainment))
Speaker: Orlando Cazalet Hyams (SN Systems / Sony Interactive Entertainment)
A new constant expression interpreter for Clang
Authors: Timm Baeder (Red Hat)
Speaker: Timm Baeder (Red Hat)
Swift Explicitly-Built Modules
Authors: Artem Chikin (Apple)
Speaker: Artem Chikin (Apple)
Mitigating use-after-free security vulnerabilities in C and C++ with language support for type-isolating allocators
Authors: Oliver Hunt (Apple, Inc)
Speaker: Oliver Hunt (Apple, Inc)
A C++ Toolchain for Your GPU
Authors: Joseph Huber (AMD)
Speaker: Joseph Huber (Advanced Micro Devices Inc)
Simplifying GPU Programming with Parametric Tile-Level Tensors In Mojo
Authors: Ahmed Taei, Hengjie Wang (Modular)
Speaker: Ahmed Taei (Modular), Hengjie Wang (Modular)
lean-mlir: A Workbench for formally verifying Peephole Optimizations for MLIR
Authors: Alex Keizer, Siddharth Bhat (University of Cambridge); Andrés Goens (University of Amsterdam); Tobias Grosser (University of Cambridge)
Speaker: Alex Keizer (University of Cambridge), Siddharth Bhat (University of Cambridge)
Exploiting MLIR Abstractions for Hardware Verification
Authors: Bea Healy, Luisa Cicolini, Tobias Grosser (University of Cambridge)
Speaker: Bea Healy (University of Cambridge), Luisa Cicolini (University of Cambridge)
Improving Warmup Time with LLVM
Authors: Petr Maj, Harish Byrappa, Michal Vlasak, Artur Pilipenko (Azul)
Speaker: Petr Maj (Azul)
Adding Pointer Authentication ABI support for your ELF platform
Authors: Daniil Kovalev, Anatoly Trosinenko, Andrei Lebedev, Anton Korobeynikov (Access Softek Toolchains)
Speaker: Anton Korobeynikov (Access Softek Toolchains)
Vectorization in MLIR: Towards Scalable Vectors and Matrices (Part 2)
Authors: Andrzej Warzyński (Arm)
Speaker: Andrzej Warzyński (Arm)
Implementing Linear / Non-destructible Types in Vale and Mojo
Authors: Evan Ovadia (Modular)
Speaker: Evan Ovadia (Modular)
Advancing SPIR-V Backend Stability: Navigating GlobalISel Compromises
Authors: Vyacheslav Levytskyy, Michal Paszkowski (Intel)
Speaker: Michal Paszkowski (Intel), Vyacheslav Levytskyy (Intel)
JSIR - Adversarial JavaScript Detection With MLIR
Authors: Zhixun Tan (Google)
Speaker: Zhixun Tan (Google)
Modern Embedded Development with LLVM
Authors: Petr Hosek (Google)
Speaker: Petr Hosek (Google)
What we learned from building Mojo’s optimization pipeline
Authors: Weiwei Chen, Jeff Niu (Modular)
Speaker: Weiwei Chen (Modular)
Efficient Coroutine Implementation in MLIR
Authors: Steffi Stumpos (None)
Speaker: Steffi Stumpos (Modular)
Higher-Level Linker Scripts for Embedded Systems
Authors: Daniel Thornburgh (Google)
Speaker: Daniel Thornburgh (Google)
LLVM libc math library - Current status and future directions
Authors: Tue Ly (Google LLC)
Speaker: Tue Ly (Google)
Fine-grained compilation caching using llvm-cas
Authors: Shubham Rastogi (Apple)
Speaker: Shubham Rastogi (Apple)
Making upstream MLIR more friendly to programming languages: current upstream limitations, the ptr dialect, and the road ahead
Authors: Fabian Mora Cordero (University of Delaware); Mehdi Amini (NVIDIA)
Speaker: Fabian Mora Cordero (University of Delaware), Mehdi Amini (NVIDIA)
Clang Modules at Scale
Authors: Michael Spencer, Ian Anderson (Apple)
Speaker: Michael Spencer (Apple), Ian Anderson (Apple)
Enhance SYCL offloading support to use the new offloading model
Authors: Arvind Sudarsanam, Ravi Narayanaswamy (Intel corporation)
Speaker: Arvind Sudarsanam (Intel corporation), Ravi Narayanaswamy (Intel corporation)
Tutorials
Using MLIR from C and Python
Authors: Alex Zinenko (Unaffiliated)
Speaker: Alex Zinenko (Unaffiliated)
Support a new Calling Convention in LLVM
Authors: Brandon Wu, Kito Cheng (SiFive)
Speaker: Brandon Wu (SiFive)
LLVM Supply Chain Security: From developer’s desk to user’s device
Authors: Tom Stellard (Red Hat)
Speaker: Tom Stellard (Red Hat)
A Beginners’ Guide to SelectionDAG
Authors: Justin Fargnoli, Alex MacLean (NVIDIA)
Speaker: Justin Fargnoli, Alex MacLean (NVIDIA)
Panels
Is MLIR feature complete? Production ready?
Authors: Alex Zinenko (Unaffiliated); Stella Laurenzo (AMD); Renato Golin (Intel); Tobias Grosser (University of Cambridge); Mehdi Amini (NVIDIA)
Speaker: Alex Zinenko (Unaffiliated); Stella Laurenzo (AMD); Renato Golin (Intel); Tobias Grosser (University of Cambridge); Mehdi Amini (NVIDIA)
Quick Talks
Instrumenting MLIR Based ML Compilers for GPU Performance Analysis and Optimization
Authors: Corbin Robeck (AMD)
Speaker: Corbin Robeck (AMD)
Vector-DDG (Vector Data Dependence Graph): For Better Visualization and Verification of Vectorized LLVM-IR
Authors: Sumukh Bharadwaj (AMD India Private Limited); Karthik Kotikalapudi (Indian Institute of Technology, Hyderabad); Ayushman Singh (Indian Institute of Technology, Delhi); Raghesh Aloor, Meena Jain (AMD India Private Limited)
Speaker: Sumukh Bharadwaj (AMD India Private Limited), Raghesh Aloor (AMD India Private Limited)
From Fallbacks to Performance: Towards Better GlobalISel Performance on AArch64 Advanced SIMD Platforms
Authors: Dhruv Chawla, Tianyi Guan, Madhur Amilkanthwar (NVIDIA)
Speaker: Madhur Amilkanthwar (NVIDIA)
Speeding up Intel Gaudi deep-learning accelerators using an MLIR-based compiler
Authors: Jayaram Bobba, Dibyendu Das, Sergei Grechanik, Tzachi Cohen, Dafna Mordechai (Intel Corporation)
Speaker: Jayaram Bobba (Intel Corporation)
Building glibc with LLVM
Authors: Carlos Seo (Linaro)
Speaker: Carlos Seo (Linaro)
RISC-V Support into LLVM’s libc: Challenges and Solutions for 32-bit and 64-bit
Authors: Mikhail R Gadelha (Igalia)
Speaker: Mikhail R Gadelha (Igalia)
Extending MLIR Dialects for Deep Learning Compilers
Authors: Charitha Saumya, Chao Chen, Jianhui Li (Intel)
Speaker: Charitha Saumya (Intel), Jianhui Li (Intel)
Benchmarking Clang on Windows on Arm: Building and Running SPEC 2017
Authors: Muhammad Omair Javaid (Linaro)
Speaker: Muhammad Omair Javaid (Linaro)
Unlocking High Performance in Mojo through User-Defined Dialects
Authors: Mathieu Fehr (The University of Edinburgh); Jeff Niu (Modular); Tobias Grosser (University of Cambridge)
Speaker: Mathieu Fehr (The University of Edinburgh), Jeff Niu (Modular)
Quidditch: An End-to-End Deep Learning Compiler for Occamy using IREE & xDSL
Authors: Markus Böck (ETH Zurich); Sasha Lopoukhine (University of Cambridge)
Speaker: Markus Böck (ETH Zurich), Sasha Lopoukhine (University of Cambridge)
Atomic Reduction Operations
Authors: Gonzalo Brito Gadeschi (NVIDIA)
Speaker: Gonzalo Brito Gadeschi (NVIDIA)
PyDSL: A MLIR DSL for Python developers
Authors: Kevin Lee, Kai Ting Wang (Huawei Technologies Canada Co., Ltd)
Speaker: Kai Ting Wang (Huawei Technologies Canada Co., Ltd)
Embedding Domain-Specific Languages in C++ with Polygeist
Authors: lorenzo chelini (NVIDIA); William S. Moses (University of Illinois Urbana-Champaign)
Speaker: Lorenzo Chelini (NVIDIA)
LLVM Governance Update
Authors: Chris Bieneman (Microsoft); Aaron Ballman (Intel); Reid Kleckner (Google)
Speaker: Chris Bieneman (Microsoft)
Why You Should Use Scudo
Authors: Chia-hung Duan, Christopher Ferris (Google)
Speaker: Chia-Hung Duan (Google), Christopher Ferris (Google)
Lightning Talks
Using llvm-libc in LLVM Embedded Toolchain for Arm
Authors: Peter Smith (Arm)
Speaker: Peter Smith (Arm)
“Hey, do you want a RISC-V debugger?” - Enabling RISC-V support in LLDB
Authors: Ted Woodward (Qualcomm)
Speaker: Ted Woodward (Qualcomm)
MD5 Checksums in LLDB
Authors: Jonas Devlieghere (Apple)
Speaker: Jonas Devlieghere (Apple)
Experiments with two-phase expression evaluation for a better debugging experience
Authors: Ilya Kuklin, Andrei Lebedev, Anton Korobeynikov (Access Softek Inc)
Speaker: Ilya Kuklin (Access Softek Inc)
Flang Update
Authors: Steve Scalpone (NVIDIA)
Speaker: Steve Scalpone (NVIDIA)
Student Talks
Half-precision in LLVM libc
Authors: Nicolas Celik (EPITA)
Speaker: Nicolas Celik (EPITA)
The syntax dialect: creating a parser generator with MLIR
Authors: Fabian Mora Cordero, Sunita Chandrasekaran (University of Delaware)
Speaker: Fabian Mora-Cordero (University of Delaware)
GISel for Scalable Vectors: Expanding the Horizon
Authors: Jiahan Xie (Cornell University); Michael Maitland (SiFive)
Speaker: Jiahan Xie (Cornell University)
A data-driven approach to debug info quality
Authors: Emil Pedersen (None)
Speaker: Emil Pedersen (Epitech)
DynamicAPInt: Infinite-Precision Arithmetic for LLVM
Authors: Arjun Pitchanathan (University of Edinburgh); Tobias Grosser (University of Cambridge)
Speaker: Arjun Pitchanathan (University of Edinburgh)
FPOpt: Balancing Cost and Accuracy of Floating-Point Computations in LLVM IR
Authors: Siyuan Brant Qian (University of Illinois Urbana-Champaign); Jan Hückelheim, Paul Hovland (Argonne National Laboratory); William S. Moses (University of Illinois Urbana-Champaign)
Speaker: Siyuan Brant Qian (University of Illinois Urbana-Champaign)
Posters
Fuzzlang: Generating Compilation Errors to Teach ML Code Fixes
Authors: Baodi Shan (Stony Brook University & LLNL); Johannes Doerfert (Lawrence Livermore National Laboratory)
Speaker: Baodi Shan (Stony Brook University and LLNL)
The 1001 Thresholds in LLVM
Authors: Shourya Goel (Indian Institute of Technology, Roorkee); Jan Hückelheim (Argonne National Laboratory); Johannes Doerfert (LLNL)
Speaker: Shourya Goel (Indian Institute of Technology, Roorkee)
The XLG framework: an MLIR replacement for ASTs
Authors: Fabian Mora Cordero, Sunita Chandrasekaran (University of Delaware)
Speaker: Fabian Mora-Cordero (University of Delaware)
accfg: Eliminating Setup Overhead for Accelerator Dispatch
Authors: Anton Lydike (The University of Edinburgh); Josse Van Delm (KU Leuven)
Speaker: Anton Lydike (The University of Edinburgh), Josse Van Delm (KU Leuven)
MLIR and Pytorch: A Compilation Pipeline targeting Huawei’s Ascend Backend
Authors: Weizhe Chen, Amy Wang, Fang Gao, Alex Singer (Huawei Technologies Canada)
Speaker: Amy Wang (Huawei Technologies Canada)
LLVM-Enabled Architecture Spanning Shellcode
Authors: Jonathan Smith (FiveTwelve)
Speaker: Jonathan Smith (FiveTwelve)
Developing an HLSL intrinsic for the SPIR-V and DirectX backends
Authors: Farzon Lotfi (Microsoft)
Speaker: Farzon Lotfi Microsoft
New Headergen
Authors: Rose Zhang, Aaryan Shukla (Google/UIUC)
Speaker: Rose Zhang (Google/UIUC)
xdsl-gui: A Playground for the Compiler Optimization Game
Authors: Dalia Shaaban (ETH)
Speaker: Dalia Shaaban (Swiss Federal Institute of Technology (ETH))
Autostack: a novel approach to implementing shared stack for image size
savings
Authors: Sundeep Kushwaha, Ric Senior, Unni Prasad (Qualcomm Inc)
Speaker: Sundeep Kushwaha (Qualcomm)
MLIR Interfaces for Generic High-Level Program Representations
Authors: Henrich Lauko (Trail of Bits)
Speaker: Henrich Lauko (Trail of Bits)
I also wanted to thank the program committee and especially the program chair, Petr Hosek. Thank you for volunteering your time!
2024 US LLVM Dev Mtg Program Committee:
Min-Yih Hsu
Shilei Tian
Nicolai Hähnle
Hans Wennborg
Aditya Kumar
Kai Nacke
Mehdi Amini
Hongyu Chen
Andrey Bokhanko
Petr Hosek (Chair)
Amritpan Kaur
Henrich Lauko
Miguel Arroyo
Matthias Springer
Volodymyr Sapsai
Jeremy Morse
Bruno Cardoso Lopes
Diana Picus
Ehsan Amiri
lorenzo chelini
Shun Kamatsuka
Mircea Trofin