-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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]>
- Loading branch information
1 parent
0ff8de2
commit 018e156
Showing
82 changed files
with
1,164 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
Oops, something went wrong.