Skip to content

Commit

Permalink
Add 2024-10 LLVM developer meeting contents (#6)
Browse files Browse the repository at this point in the history
* 2024-10 LLVM developer meeting contents

* 2024-10 LLVM developer meeting contents

* 2024-10 LLVM developer meeting contents

* Change speakers to speaker in yml data

---------

Co-authored-by: Chaitanya Shahare <[email protected]>
  • Loading branch information
pranavkalpathishankar and Chaitanya-Shahare authored Dec 31, 2024
1 parent 0ff8de2 commit 018e156
Show file tree
Hide file tree
Showing 82 changed files with 1,164 additions and 5 deletions.
122 changes: 122 additions & 0 deletions content/devmtg/2024-10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
title: "2024 LLVM Developers' Meeting"
description: ""
date: 2024-10-21T19:45:19+05:30
toc: true
tags: []
draft: false
---

{{< event_data "2024-10" >}}

## About

The LLVM Developers' Meeting is a bi-annual gathering of the entire LLVM Project community. The conference is organized by the LLVM Foundation and many volunteers within the LLVM community. Developers and users of LLVM, Clang, and related subprojects will enjoy attending interesting talks, impromptu discussions, and networking with the many members of our community. Whether you are a new to the LLVM project or a long time member, there is something for each attendee.

To see the agenda, speakers, and register, please visit the Event Site here: https://llvm.swoogo.com/2024devmtg

What can you can expect at an LLVM Developers' Meeting?

- **Technical Talks**

These 20-30 minute talks cover all topics from core infrastructure talks, to project's using LLVM's infrastructure. Attendees will take away technical information that could be pertinent to their project or general interest.
- **Tutorials**

Tutorials are 50-60 minute sessions that dive down deep into a technical topic. Expect in depth examples and explanations.

- **Lightning Talks**

These are fast 5 minute talks that give you a taste of a project or topic. Attendees will hear a wide range of topics and probably leave wanting to learn more.

- **Quick Talks**

Quick 10 minute talks that dive a bit deeper into a topic, but not as deep as a Technical Talk.

- **Student Technical Talks**

Graduate or Undergraduate students present their work using LLVM.

- **Panels**

Panel sessions are guided discussions about a specific topic. The panel consists of ~3 developers who discuss a topic through prepared questions from a moderator. The audience is also given the opportunity to ask questions of the panel.

What types of people attend?

- Active developers of projects in the LLVM Umbrella (LLVM core, Clang, LLDB, libc++, compiler_rt, flang, lld, MLIR, etc).
- Anyone interested in using these as part of another project.
- Students and Researchers
- Compiler, programming language, and runtime enthusiasts.
- Those interested in using compiler and toolchain technology in novel and interesting ways.

The LLVM Developers' Meeting strives to be the best conference to meet other LLVM developers and users.

For future announcements or questions: Please visit the LLVM Discourse forums. Most posts are in the Announcements or Community categories and tagged with usllvmdevmtg.

## Program

### Keynote

{{< event_talks
"devmtg/2024-10/keynote"
"keynote"
>}}
### Tutorials

{{< event_talks
"devmtg/2024-10/tutorials"
"tutorials"
>}}
### Technical Talks

{{< event_talks
"devmtg/2024-10/technical_talks"
"technical_talks"
>}}
### Panels

{{< event_talks
"devmtg/2024-10/panels"
"panels"
>}}
### Student Technical Talks

{{< event_talks
"devmtg/2024-10/student_technical_talks"
"student_technical_talks"
>}}
### Quick Talks

{{< event_talks
"devmtg/2024-10/quick_talks"
"quick_talks"
>}}
### Lightning Talks

{{< event_talks
"devmtg/2024-10/lightning_talks"
"lightning_talks"
>}}
### Posters

{{< event_posters
"devmtg/2024-10/posters"
"posters"
>}}
## Code of Conduct

The LLVM Foundation is dedicated to providing an inclusive and safe
experience for everyone. We do not tolerate harassment of participants in any
form. By registering for this event, we expect you to have read and agree to
the [LLVM Code of Conduct](http://llvm.org/docs/CodeOfConduct.html).

## Contact

To contact the organizer, email [[email protected]](mailto:[email protected]).
8 changes: 4 additions & 4 deletions data/devmtg/2024-04/technical_talks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ technical_talks:
and the main challenges and limitations encountered.
- title: "Mojo debugging: extending MLIR and LLDB"
speakers: "Walter Erquinigo, Billy Zhu"
speaker: "Walter Erquinigo, Billy Zhu"
video_url: "https://youtu.be/9jfukpjCPIg"
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/MojoDebugging.pdf"
description: |
Expand Down Expand Up @@ -146,7 +146,7 @@ technical_talks:
collection and deoptimization with On-Stack replacement.
- title: "Teaching MLIR concepts to undergraduate students"
speakers: "Mathieu Fehr, Sasha Lopoukhine"
speaker: "Mathieu Fehr, Sasha Lopoukhine"
video_url: "https://youtu.be/XnRZA1pz7iw"
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/Fehr-Lopoukhine-TeachingMLIRConceptsToUndergraduateStudents.pdf"
description: |
Expand Down Expand Up @@ -213,7 +213,7 @@ technical_talks:
and hoisting memory allocations from loops.
- title: "MLIR Vector Distribution"
speakers: "Kunwar Grover, Harsh Menon"
speaker: "Kunwar Grover, Harsh Menon"
video_url: "https://youtu.be/ueYi9NnK4Pw"
slides_url: ""
description: |
Expand Down Expand Up @@ -252,7 +252,7 @@ technical_talks:
easy to debug and efficient.
- title: "LLVM-IR-Dataset-Utils - Scalable Tooling for IR Datasets"
speakers: "Aiden Grossman, Ludger Paehler"
speaker: "Aiden Grossman, Ludger Paehler"
video_url: "https://youtu.be/_SOWTuWyx1Q"
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/Grossman-LLVMIR-DatasetUtils.pdf"
description: |
Expand Down
17 changes: 17 additions & 0 deletions data/devmtg/2024-10/keynote.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
keynote:
- title: Rust ❤️ LLVM
speaker: "Nikita Popov"
video_url: https://youtu.be/Kqz-umsAnk8
slides_url: https://llvm.org/devmtg/2024-10/slides/keynote/Popov-Rust_Heart_LLVM.pdf
description: |
This talk is about how Rust uses LLVM, how the two projects interact, and the challenges
and opportunities that arise.
- title: State of Clang as a C and C++ Compiler
speaker: "Aaron Ballman"
video_url: https://youtu.be/hKY7OLLZw1w
slides_url: https://llvm.org/devmtg/2024-10/slides/keynote/Ballman-StateofClang2024.pdf
description: |
Come along with Clang's lead maintainer on a whirlwind tour of what new standard C
and C++ language features have been added to Clang in the past 1-2 years, an overview of
what standards-related work the community is actively implementing for Clang 20 and
beyond, and discussion of what challenges the community is facing and could use help with.
52 changes: 52 additions & 0 deletions data/devmtg/2024-10/lightning_talks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
lightning_talks:
- title: "Using llvm-libc in LLVM Embedded Toolchain for Arm"
speaker: "Peter Smith"
video_url: "https://youtu.be/ctgkbaYwT_I"
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Smith-Using-llvm-libc.pdf"
description: |
Using llvm-libc in LLVM Embedded Toolchain for Arm Arm have recently added support
for LLVM's libc to the LLVM Embedded Toolchain for Arm as an overlay package. This
presentation will cover: * How to build the toolchain with llvm-libc libraries. * How to
use the llvm-libc libraries with the toolchain. * What works with llvm-libc and what
doesn't. * A comparison of llvm-libc with the embedded toolchains' picolibc. The LLVM
Embedded Toolchain for Arm is one of the easiest ways to try out llvm-libc for embedded
projects. We would like to encourage people to try out llvm-libc to gather feedback for
its future development.
- title: "Hey, do you want a RISC-V debugger? - Enabling RISC-V support in LLDB"
speaker: Ted Woodward
video_url: "https://youtu.be/YSdeFLdL5DM"
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Woodward-RISC-V-Debugger.pdf"
description: |
"Hey, do you want a RISC-V debugger? That question started my odyssey that lead to
a working upstream LLDB for RISC-V. This talk will discuss that journey.
- title: "MD5 Checksums in LLDB"
speaker: "Jonas Devlieghere"
video_url: "https://youtu.be/JIBhafjL_oo"
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Devlieghere-MD5-Checksums-In-LLDB.pdf"
description: |
Support for DWARF MD5 checksums in LLDB.
- title: "Experiments with two-phase expression evaluation for a better debugging experience"
speaker: "Ilya Kuklin"
video_url: "https://youtu.be/mYze6ndZuZ8"
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Kuklin-Experiments-with-two-phase-expression-evaluation.pdf"
description: |
LLDB can spend a substantial amount of time on evaluating expressions during
debugging. This is an issue with debugging large real-world applications. We experimented
with the idea of having a limited but fast way of evaluating expressions with the ability
to fall back to the current LLDB. For this purpose, we revamped a project called `lldb-
eval` and integrated it into LLDB. Our experiments with this approach on large real-world
applications showed that most expressions are simple enough and could be evaluated much
faster making debugging experience noticeably smoother.
- title: "Flang Update"
speaker: "Steve Scalpone"
video_url: "https://youtu.be/xfBANFcMhCo"
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Scalpone-FlangUpdate.pdf"
description: |
Flang is an LLVM subproject which is a ground-up implementation of a Fortran front
end written in modern C++. Flang uses MLIR as in intermediate language and implements
OpenMP for CPUs and GPUs. This lightning talk touches on current development efforts,
testing coverage, feature status, and performance.
20 changes: 20 additions & 0 deletions data/devmtg/2024-10/panels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
panels:
- title: "Is MLIR feature complete? Production ready?"
speaker: "Alex Zinenko, Stella Laurenzo, Renato Golin, Tobias Grosser, Mehdi Amini, Chris Lattner"
video_url: "https://youtu.be/T5H1HjOSE_I"
slides_url: ""
description: |
Once the most fast-paced part of the LLVM source tree, the MLIR project is slowing
down significantly both in the amount and complexity of changes committed. The project had
a few open meetings since the start of this year as opposed to more than a dozen the year
before, 1183 commits tagged with "[mlir]" were made to the tree in the first seven months
of 2024 as opposed to 2045 during the same period of 2023, etc. At the same time, the
increasing amount of work is focused on downstream projects using MLIR, ranging from in-
tree CIR and Flang, to incubated CIRCT and Polygeist, to out-of-tree OSS projects like
IREE and XLA, to the many proprietary stacks. Are these the signs of MLIR reaching a
certain maturity level? Or are these the warning signs of the worrying community
disengagement? Should we declare MLIR feature-complete and redirect larger changes to
client projects or, on the contrary, actively lift the common parts from downstreams? What
is preventing individuals and teams from collaborating more actively in the open? This
panel brings together leaders from academia, start-ups and established industry players to
discuss their takes on these and other hot questions about MLIR strategy.
119 changes: 119 additions & 0 deletions data/devmtg/2024-10/posters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
posters:
- title: "Fuzzlang: Generating Compilation Errors to Teach ML Code Fixes"
speaker: "Baodi Shan"
video_url: ""
poster_url: "https://llvm.org/devmtg/2024-10/slides/poster/Shan-Fuzzlang-Poster.pdf"
description: |
In the realm of code repair, the diversity and accuracy of error datasets are
critical for enhancing model performance. Fuzzlang, a newly developed Clang Python
wrapper, addresses this need by generating a wide range of compilation errors through
modifications to compilation commands or source code. It systematically collects error
messages, corresponding correct and erroneous code, and AST information to build a
comprehensive dataset. Fuzzlang’s dataset offers significantly greater error diversity
than existing resources like Deepfix and C-Pack-IPAs, as measured against the different
error kinds in Clang’s diagnostic files. In a small study we applied Fuzzlang on the
llvm-project and identified 417 unique compilation errors. We fine-tuned both the
Llama3-8b model and the GPT-4o-mini model, and the code correction accuracy for the
observed error catergories improved from 37.22% to 93.97% for Llama3-8b and from 72.29% to
96.70% for GPT-4o-mini.
- title: "The XLG framework: an MLIR replacement for ASTs"
speaker: "Fabian Mora-Cordero"
video_url: ""
poster_url: ""
description: |
In this talk, we present the XLG framework, a novel intermediate representation
capable of replacing ASTs with MLIR. As part of the talk, we will also examine how to
perform semantic analysis, code generation, and constant evaluation on XLG. Furthermore,
we will demonstrate how these tasks can be performed in an extensible manner, allowing the
introduction of new semantics rules or constructs as plugins. Finally, we present how to
interoperate XLG with existing dialects and leverage existing MLIR passes to handle often
tricky programming notions like meta-programming.
- title: "accfg: Eliminating Setup Overhead for Accelerator Dispatch"
speaker: "Anton Lydike, Josse Van Delm"
video_url: ""
poster_url: ""
description: |
Modern computing is moving toward heterogeneous architectures with general compute
cores and specialized accelerators. However, these accelerators require increasing cycles
for configuration, creating a new bottleneck that limits peak performance. Fortunately,
modern compiler techniques can address this issue. We introduce a general optimization
dialect designed to eliminate setup overhead and demonstrate significant speed-ups on
three accelerator platforms.
- title: "MLIR and Pytorch: A Compilation Pipeline targeting Huawei's Ascend Backend"
speaker: "Amy Wang"
video_url: ""
poster_url: "https://llvm.org/devmtg/2024-10/slides/poster/Wang-MLIR-and-PyTorch-Poster.pdf"
description: |
We present our work on compiling PyTorch code through MLIR to target Ascend AI
Processors. The approach starts from PyTorch to Torch-MLIR followed by an MLIR Pipeline,
converting down to a custom AscendC Dialect, where C-like AscendC code is produced with
enhanced EmitC utilities. This method not only benefits Ascend users but also opens up
more optimization opportunities from Ascend back to MLIR. We aim to enhance the MLIR
ecosystem by sharing our experiences and we welcome any discussion about potential
improvements to our pipeline, to better target AI processors.
- title: "Developing an HLSL intrinsic for the SPIR-V and DirectX backends"
speaker: "Farzon Lotfi"
video_url: ""
poster_url: ""
description: |
The tutorial will cover the basics of writing an HLSL intrinsic. From frontend to
backend development to writing code gen, sema, and backend test cases. Examples included
will cover how to handle cases where an intrinsic maps directly to a DXIL or SPIRV op and
cases where an intrinsic needs to be replaced with an instruction expansion.
- title: "New Headergen"
speaker: "Rose Zhang, Aaryan Shukla"
video_url: ""
poster_url: "https://llvm.org/devmtg/2024-10/"
description: |
LLVM-libc’s headers just got a major upgrade! We ditched the old, complex Tablegen
system for a sleek new YAML-based generator. This means easier cross-compiling, faster
builds, and a smoother path to use LLVM-libc. Come and see how we transformed header
creation and why it’s a game-changer.
- title: "xdsl-gui: A Playground for the Compiler Optimization Game"
speaker: "Dalia Shaaban"
video_url: ""
poster_url: "https://llvm.org/devmtg/2024-10/"
description: |
Optimizing compilers built on MLIR use customizable pipelines of passes and
transformations to implement various optimization strategies. While MLIR provides tools
like mlir-opt for controlling compilation flows, the complexity of selecting and
sequencing passes can be overwhelming due to the large number of available passes and the
manual, time-intensive experimentation required. This talk introduces xdsl-gui, an
interactive environment that enhances control and transparency during the compilation
process. Users input source code or IR, select and apply passes, and display the updated
IR. xdsl-gui also filters relevant passes and offers real-time feedback on pass selection,
helping developers optimize strategies effectively.
- title: "Autostack: a novel approach to implementing shared stack for image size savings"
speaker: "Sundeep Kushwaha"
video_url: ""
poster_url: ""
description: |
We propose a new technique called Autostack to share stack memory across multiple
software threads which results in significant image size savings. Additionally, Autostack
can also be used to improve performance by transitioning the stack from slower memory to
faster memory.
- title: "MLIR Interfaces for Generic High-Level Program Representations"
speaker: "Henrich Lauko"
video_url: ""
poster_url: ""
description: |
Discover how the VAST MLIR-based compiler for C/C++ extends MLIR's capabilities
beyond low-level IRs to support high-level features like custom symbols and AST-like
operations. This poster unveils advanced symbol tables that enable shadowing, diverse
symbol types, and customizable lookups. Learn about our MLIR interfaces that integrate
seamlessly with the Clang ecosystem, allowing tools such as AST queries and the Clang
Static Analyzer to operate on MLIR. We will demonstrate how MLIR can replicate Clang AST
behavior and represent Clang CFG primitives, enabling interoperability and analysis using
Clang's high-level tools.
Loading

0 comments on commit 018e156

Please sign in to comment.