Skip to content

Commit 018e156

Browse files
Add 2024-10 LLVM developer meeting contents (#6)
* 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]>
1 parent 0ff8de2 commit 018e156

File tree

82 files changed

+1164
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1164
-5
lines changed

content/devmtg/2024-10.md

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
title: "2024 LLVM Developers' Meeting"
3+
description: ""
4+
date: 2024-10-21T19:45:19+05:30
5+
toc: true
6+
tags: []
7+
draft: false
8+
---
9+
10+
{{< event_data "2024-10" >}}
11+
12+
## About
13+
14+
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.
15+
16+
To see the agenda, speakers, and register, please visit the Event Site here: https://llvm.swoogo.com/2024devmtg
17+
18+
What can you can expect at an LLVM Developers' Meeting?
19+
20+
- **Technical Talks**
21+
22+
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.
23+
- **Tutorials**
24+
25+
Tutorials are 50-60 minute sessions that dive down deep into a technical topic. Expect in depth examples and explanations.
26+
27+
- **Lightning Talks**
28+
29+
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.
30+
31+
- **Quick Talks**
32+
33+
Quick 10 minute talks that dive a bit deeper into a topic, but not as deep as a Technical Talk.
34+
35+
- **Student Technical Talks**
36+
37+
Graduate or Undergraduate students present their work using LLVM.
38+
39+
- **Panels**
40+
41+
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.
42+
43+
What types of people attend?
44+
45+
- Active developers of projects in the LLVM Umbrella (LLVM core, Clang, LLDB, libc++, compiler_rt, flang, lld, MLIR, etc).
46+
- Anyone interested in using these as part of another project.
47+
- Students and Researchers
48+
- Compiler, programming language, and runtime enthusiasts.
49+
- Those interested in using compiler and toolchain technology in novel and interesting ways.
50+
51+
The LLVM Developers' Meeting strives to be the best conference to meet other LLVM developers and users.
52+
53+
For future announcements or questions: Please visit the LLVM Discourse forums. Most posts are in the Announcements or Community categories and tagged with usllvmdevmtg.
54+
55+
## Program
56+
57+
### Keynote
58+
59+
{{< event_talks
60+
"devmtg/2024-10/keynote"
61+
"keynote"
62+
>}}
63+
64+
### Tutorials
65+
66+
{{< event_talks
67+
"devmtg/2024-10/tutorials"
68+
"tutorials"
69+
>}}
70+
71+
### Technical Talks
72+
73+
{{< event_talks
74+
"devmtg/2024-10/technical_talks"
75+
"technical_talks"
76+
>}}
77+
78+
### Panels
79+
80+
{{< event_talks
81+
"devmtg/2024-10/panels"
82+
"panels"
83+
>}}
84+
85+
### Student Technical Talks
86+
87+
{{< event_talks
88+
"devmtg/2024-10/student_technical_talks"
89+
"student_technical_talks"
90+
>}}
91+
92+
### Quick Talks
93+
94+
{{< event_talks
95+
"devmtg/2024-10/quick_talks"
96+
"quick_talks"
97+
>}}
98+
99+
### Lightning Talks
100+
101+
{{< event_talks
102+
"devmtg/2024-10/lightning_talks"
103+
"lightning_talks"
104+
>}}
105+
106+
### Posters
107+
108+
{{< event_posters
109+
"devmtg/2024-10/posters"
110+
"posters"
111+
>}}
112+
113+
## Code of Conduct
114+
115+
The LLVM Foundation is dedicated to providing an inclusive and safe
116+
experience for everyone. We do not tolerate harassment of participants in any
117+
form. By registering for this event, we expect you to have read and agree to
118+
the [LLVM Code of Conduct](http://llvm.org/docs/CodeOfConduct.html).
119+
120+
## Contact
121+
122+
To contact the organizer, email [[email protected]](mailto:[email protected]).

data/devmtg/2024-04/technical_talks.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ technical_talks:
112112
and the main challenges and limitations encountered.
113113
114114
- title: "Mojo debugging: extending MLIR and LLDB"
115-
speakers: "Walter Erquinigo, Billy Zhu"
115+
speaker: "Walter Erquinigo, Billy Zhu"
116116
video_url: "https://youtu.be/9jfukpjCPIg"
117117
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/MojoDebugging.pdf"
118118
description: |
@@ -146,7 +146,7 @@ technical_talks:
146146
collection and deoptimization with On-Stack replacement.
147147
148148
- title: "Teaching MLIR concepts to undergraduate students"
149-
speakers: "Mathieu Fehr, Sasha Lopoukhine"
149+
speaker: "Mathieu Fehr, Sasha Lopoukhine"
150150
video_url: "https://youtu.be/XnRZA1pz7iw"
151151
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/Fehr-Lopoukhine-TeachingMLIRConceptsToUndergraduateStudents.pdf"
152152
description: |
@@ -213,7 +213,7 @@ technical_talks:
213213
and hoisting memory allocations from loops.
214214
215215
- title: "MLIR Vector Distribution"
216-
speakers: "Kunwar Grover, Harsh Menon"
216+
speaker: "Kunwar Grover, Harsh Menon"
217217
video_url: "https://youtu.be/ueYi9NnK4Pw"
218218
slides_url: ""
219219
description: |
@@ -252,7 +252,7 @@ technical_talks:
252252
easy to debug and efficient.
253253
254254
- title: "LLVM-IR-Dataset-Utils - Scalable Tooling for IR Datasets"
255-
speakers: "Aiden Grossman, Ludger Paehler"
255+
speaker: "Aiden Grossman, Ludger Paehler"
256256
video_url: "https://youtu.be/_SOWTuWyx1Q"
257257
slides_url: "/devmtg/2024-04/slides/TechnicalTalks/Grossman-LLVMIR-DatasetUtils.pdf"
258258
description: |

data/devmtg/2024-10/keynote.yml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
keynote:
2+
- title: Rust ❤️ LLVM
3+
speaker: "Nikita Popov"
4+
video_url: https://youtu.be/Kqz-umsAnk8
5+
slides_url: https://llvm.org/devmtg/2024-10/slides/keynote/Popov-Rust_Heart_LLVM.pdf
6+
description: |
7+
This talk is about how Rust uses LLVM, how the two projects interact, and the challenges
8+
and opportunities that arise.
9+
- title: State of Clang as a C and C++ Compiler
10+
speaker: "Aaron Ballman"
11+
video_url: https://youtu.be/hKY7OLLZw1w
12+
slides_url: https://llvm.org/devmtg/2024-10/slides/keynote/Ballman-StateofClang2024.pdf
13+
description: |
14+
Come along with Clang's lead maintainer on a whirlwind tour of what new standard C
15+
and C++ language features have been added to Clang in the past 1-2 years, an overview of
16+
what standards-related work the community is actively implementing for Clang 20 and
17+
beyond, and discussion of what challenges the community is facing and could use help with.
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
lightning_talks:
2+
- title: "Using llvm-libc in LLVM Embedded Toolchain for Arm"
3+
speaker: "Peter Smith"
4+
video_url: "https://youtu.be/ctgkbaYwT_I"
5+
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Smith-Using-llvm-libc.pdf"
6+
description: |
7+
Using llvm-libc in LLVM Embedded Toolchain for Arm Arm have recently added support
8+
for LLVM's libc to the LLVM Embedded Toolchain for Arm as an overlay package. This
9+
presentation will cover: * How to build the toolchain with llvm-libc libraries. * How to
10+
use the llvm-libc libraries with the toolchain. * What works with llvm-libc and what
11+
doesn't. * A comparison of llvm-libc with the embedded toolchains' picolibc. The LLVM
12+
Embedded Toolchain for Arm is one of the easiest ways to try out llvm-libc for embedded
13+
projects. We would like to encourage people to try out llvm-libc to gather feedback for
14+
its future development.
15+
16+
- title: "Hey, do you want a RISC-V debugger? - Enabling RISC-V support in LLDB"
17+
speaker: Ted Woodward
18+
video_url: "https://youtu.be/YSdeFLdL5DM"
19+
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Woodward-RISC-V-Debugger.pdf"
20+
description: |
21+
"Hey, do you want a RISC-V debugger? That question started my odyssey that lead to
22+
a working upstream LLDB for RISC-V. This talk will discuss that journey.
23+
24+
- title: "MD5 Checksums in LLDB"
25+
speaker: "Jonas Devlieghere"
26+
video_url: "https://youtu.be/JIBhafjL_oo"
27+
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Devlieghere-MD5-Checksums-In-LLDB.pdf"
28+
description: |
29+
Support for DWARF MD5 checksums in LLDB.
30+
31+
- title: "Experiments with two-phase expression evaluation for a better debugging experience"
32+
speaker: "Ilya Kuklin"
33+
video_url: "https://youtu.be/mYze6ndZuZ8"
34+
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Kuklin-Experiments-with-two-phase-expression-evaluation.pdf"
35+
description: |
36+
LLDB can spend a substantial amount of time on evaluating expressions during
37+
debugging. This is an issue with debugging large real-world applications. We experimented
38+
with the idea of having a limited but fast way of evaluating expressions with the ability
39+
to fall back to the current LLDB. For this purpose, we revamped a project called `lldb-
40+
eval` and integrated it into LLDB. Our experiments with this approach on large real-world
41+
applications showed that most expressions are simple enough and could be evaluated much
42+
faster making debugging experience noticeably smoother.
43+
44+
- title: "Flang Update"
45+
speaker: "Steve Scalpone"
46+
video_url: "https://youtu.be/xfBANFcMhCo"
47+
slides_url: "https://llvm.org/devmtg/2024-10/slides/lightning/Scalpone-FlangUpdate.pdf"
48+
description: |
49+
Flang is an LLVM subproject which is a ground-up implementation of a Fortran front
50+
end written in modern C++. Flang uses MLIR as in intermediate language and implements
51+
OpenMP for CPUs and GPUs. This lightning talk touches on current development efforts,
52+
testing coverage, feature status, and performance.

data/devmtg/2024-10/panels.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
panels:
2+
- title: "Is MLIR feature complete? Production ready?"
3+
speaker: "Alex Zinenko, Stella Laurenzo, Renato Golin, Tobias Grosser, Mehdi Amini, Chris Lattner"
4+
video_url: "https://youtu.be/T5H1HjOSE_I"
5+
slides_url: ""
6+
description: |
7+
Once the most fast-paced part of the LLVM source tree, the MLIR project is slowing
8+
down significantly both in the amount and complexity of changes committed. The project had
9+
a few open meetings since the start of this year as opposed to more than a dozen the year
10+
before, 1183 commits tagged with "[mlir]" were made to the tree in the first seven months
11+
of 2024 as opposed to 2045 during the same period of 2023, etc. At the same time, the
12+
increasing amount of work is focused on downstream projects using MLIR, ranging from in-
13+
tree CIR and Flang, to incubated CIRCT and Polygeist, to out-of-tree OSS projects like
14+
IREE and XLA, to the many proprietary stacks. Are these the signs of MLIR reaching a
15+
certain maturity level? Or are these the warning signs of the worrying community
16+
disengagement? Should we declare MLIR feature-complete and redirect larger changes to
17+
client projects or, on the contrary, actively lift the common parts from downstreams? What
18+
is preventing individuals and teams from collaborating more actively in the open? This
19+
panel brings together leaders from academia, start-ups and established industry players to
20+
discuss their takes on these and other hot questions about MLIR strategy.

data/devmtg/2024-10/posters.yml

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
posters:
2+
- title: "Fuzzlang: Generating Compilation Errors to Teach ML Code Fixes"
3+
speaker: "Baodi Shan"
4+
video_url: ""
5+
poster_url: "https://llvm.org/devmtg/2024-10/slides/poster/Shan-Fuzzlang-Poster.pdf"
6+
description: |
7+
In the realm of code repair, the diversity and accuracy of error datasets are
8+
critical for enhancing model performance. Fuzzlang, a newly developed Clang Python
9+
wrapper, addresses this need by generating a wide range of compilation errors through
10+
modifications to compilation commands or source code. It systematically collects error
11+
messages, corresponding correct and erroneous code, and AST information to build a
12+
comprehensive dataset. Fuzzlang’s dataset offers significantly greater error diversity
13+
than existing resources like Deepfix and C-Pack-IPAs, as measured against the different
14+
error kinds in Clang’s diagnostic files. In a small study we applied Fuzzlang on the
15+
llvm-project and identified 417 unique compilation errors. We fine-tuned both the
16+
Llama3-8b model and the GPT-4o-mini model, and the code correction accuracy for the
17+
observed error catergories improved from 37.22% to 93.97% for Llama3-8b and from 72.29% to
18+
96.70% for GPT-4o-mini.
19+
20+
- title: "The XLG framework: an MLIR replacement for ASTs"
21+
speaker: "Fabian Mora-Cordero"
22+
video_url: ""
23+
poster_url: ""
24+
description: |
25+
In this talk, we present the XLG framework, a novel intermediate representation
26+
capable of replacing ASTs with MLIR. As part of the talk, we will also examine how to
27+
perform semantic analysis, code generation, and constant evaluation on XLG. Furthermore,
28+
we will demonstrate how these tasks can be performed in an extensible manner, allowing the
29+
introduction of new semantics rules or constructs as plugins. Finally, we present how to
30+
interoperate XLG with existing dialects and leverage existing MLIR passes to handle often
31+
tricky programming notions like meta-programming.
32+
33+
34+
- title: "accfg: Eliminating Setup Overhead for Accelerator Dispatch"
35+
speaker: "Anton Lydike, Josse Van Delm"
36+
video_url: ""
37+
poster_url: ""
38+
description: |
39+
Modern computing is moving toward heterogeneous architectures with general compute
40+
cores and specialized accelerators. However, these accelerators require increasing cycles
41+
for configuration, creating a new bottleneck that limits peak performance. Fortunately,
42+
modern compiler techniques can address this issue. We introduce a general optimization
43+
dialect designed to eliminate setup overhead and demonstrate significant speed-ups on
44+
three accelerator platforms.
45+
46+
47+
- title: "MLIR and Pytorch: A Compilation Pipeline targeting Huawei's Ascend Backend"
48+
speaker: "Amy Wang"
49+
video_url: ""
50+
poster_url: "https://llvm.org/devmtg/2024-10/slides/poster/Wang-MLIR-and-PyTorch-Poster.pdf"
51+
description: |
52+
We present our work on compiling PyTorch code through MLIR to target Ascend AI
53+
Processors. The approach starts from PyTorch to Torch-MLIR followed by an MLIR Pipeline,
54+
converting down to a custom AscendC Dialect, where C-like AscendC code is produced with
55+
enhanced EmitC utilities. This method not only benefits Ascend users but also opens up
56+
more optimization opportunities from Ascend back to MLIR. We aim to enhance the MLIR
57+
ecosystem by sharing our experiences and we welcome any discussion about potential
58+
improvements to our pipeline, to better target AI processors.
59+
60+
61+
- title: "Developing an HLSL intrinsic for the SPIR-V and DirectX backends"
62+
speaker: "Farzon Lotfi"
63+
video_url: ""
64+
poster_url: ""
65+
description: |
66+
The tutorial will cover the basics of writing an HLSL intrinsic. From frontend to
67+
backend development to writing code gen, sema, and backend test cases. Examples included
68+
will cover how to handle cases where an intrinsic maps directly to a DXIL or SPIRV op and
69+
cases where an intrinsic needs to be replaced with an instruction expansion.
70+
71+
- title: "New Headergen"
72+
speaker: "Rose Zhang, Aaryan Shukla"
73+
video_url: ""
74+
poster_url: "https://llvm.org/devmtg/2024-10/"
75+
description: |
76+
LLVM-libc’s headers just got a major upgrade! We ditched the old, complex Tablegen
77+
system for a sleek new YAML-based generator. This means easier cross-compiling, faster
78+
builds, and a smoother path to use LLVM-libc. Come and see how we transformed header
79+
creation and why it’s a game-changer.
80+
81+
82+
- title: "xdsl-gui: A Playground for the Compiler Optimization Game"
83+
speaker: "Dalia Shaaban"
84+
video_url: ""
85+
poster_url: "https://llvm.org/devmtg/2024-10/"
86+
description: |
87+
Optimizing compilers built on MLIR use customizable pipelines of passes and
88+
transformations to implement various optimization strategies. While MLIR provides tools
89+
like mlir-opt for controlling compilation flows, the complexity of selecting and
90+
sequencing passes can be overwhelming due to the large number of available passes and the
91+
manual, time-intensive experimentation required. This talk introduces xdsl-gui, an
92+
interactive environment that enhances control and transparency during the compilation
93+
process. Users input source code or IR, select and apply passes, and display the updated
94+
IR. xdsl-gui also filters relevant passes and offers real-time feedback on pass selection,
95+
helping developers optimize strategies effectively.
96+
97+
- title: "Autostack: a novel approach to implementing shared stack for image size savings"
98+
speaker: "Sundeep Kushwaha"
99+
video_url: ""
100+
poster_url: ""
101+
description: |
102+
We propose a new technique called Autostack to share stack memory across multiple
103+
software threads which results in significant image size savings. Additionally, Autostack
104+
can also be used to improve performance by transitioning the stack from slower memory to
105+
faster memory.
106+
107+
- title: "MLIR Interfaces for Generic High-Level Program Representations"
108+
speaker: "Henrich Lauko"
109+
video_url: ""
110+
poster_url: ""
111+
description: |
112+
Discover how the VAST MLIR-based compiler for C/C++ extends MLIR's capabilities
113+
beyond low-level IRs to support high-level features like custom symbols and AST-like
114+
operations. This poster unveils advanced symbol tables that enable shadowing, diverse
115+
symbol types, and customizable lookups. Learn about our MLIR interfaces that integrate
116+
seamlessly with the Clang ecosystem, allowing tools such as AST queries and the Clang
117+
Static Analyzer to operate on MLIR. We will demonstrate how MLIR can replicate Clang AST
118+
behavior and represent Clang CFG primitives, enabling interoperability and analysis using
119+
Clang's high-level tools.

0 commit comments

Comments
 (0)