Skip to content

Commit 0382f56

Browse files
Add devmtg/2024-04 page
1 parent 4849ce1 commit 0382f56

File tree

81 files changed

+916
-6
lines changed

Some content is hidden

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

81 files changed

+916
-6
lines changed

content/_index.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
+++
2+
title = 'Home'
3+
date = 2023-01-01T08:00:00-07:00
4+
draft = false
5+
+++
6+
7+
## What is LLVM?
8+
9+
LLVM began as a research project at the University of Illinois, with the goal of
10+
providing a modern, SSA-based compilation strategy capable of supporting both
11+
static and dynamic compilation of arbitrary programming languages. Since then,
12+
LLVM has grown to be an umbrella project consisting of a number of subprojects,
13+
many of which are being used in production by a wide variety of commercial and
14+
open source projects as well as being widely used in academic research. Code in
15+
the LLVM project is licensed under the "Apache 2.0 License with LLVM exceptions.
16+
17+
{{<subprojects>}}
18+
19+
## Getting Involved
20+
21+
As much as everything else, LLVM has a broad and friendly community of people
22+
who are interested in building great low-level tools. If you are interested in
23+
getting involved, a good first place is to skim the LLVM Blog and join LLVM
24+
Discourse. For information on how to send in a patch, get commit access, and
25+
copyright and license topics, please see the LLVM Developer Policy.
26+
27+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem">
28+
29+
{{<developer_resources>}}
30+
31+
<div>
32+
{{<events>}}
33+
</div>
34+
35+
36+
</div>

content/devmtg/2024-04.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
title: "2024 EuroLLVM 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-04" >}}
11+
12+
## About
13+
14+
The Euro 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/2024eurollvm
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-04/keynote"
61+
"keynote"
62+
>}}
63+
64+
### Tutorials
65+
66+
{{< event_talks
67+
"devmtg/2024-04/tutorials"
68+
"tutorials"
69+
>}}
70+
71+
### Technical Talks
72+
73+
{{< event_talks
74+
"devmtg/2024-04/technical_talks"
75+
"technical_talks"
76+
>}}
77+
78+
### Panels
79+
80+
{{< event_talks
81+
"devmtg/2024-04/panels"
82+
"panels"
83+
>}}
84+
85+
### Student Technical Talks
86+
87+
{{< event_talks
88+
"devmtg/2024-04/student_technical_talks"
89+
"student_technical_talks"
90+
>}}
91+
92+
### Quick Talks
93+
94+
{{< event_talks
95+
"devmtg/2024-04/quick_talks"
96+
"quick_talks"
97+
>}}
98+
99+
### Lightning Talks
100+
101+
{{< event_talks
102+
"devmtg/2024-04/lightning_talks"
103+
"lightning_talks"
104+
>}}
105+
106+
### Posters
107+
108+
{{< event_posters
109+
"devmtg/2024-04/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/keynote.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
keynote:
2+
- title: Does LLVM implement security hardenings correctly? A BOLT-based static analyzer to the rescue?
3+
speaker: "Kristof Beyls"
4+
video_url: https://youtu.be/Sn_Fxa0tdpY
5+
slides_url: /devmtg/2024-04/slides/Keynote/Beyls_EuroLLVM2024_security_hardening_keynote.pdf
6+
description: |
7+
In the past decade, security has become one of the 3 key areas in compiler
8+
design and implementation, next to correctly translating to assembly and
9+
optimization. In comparison to general correctness and optimization, we're
10+
lacking tools to test correct code generation of security hardening
11+
features. This presentation shows the results of an experiment to build a
12+
prototype binary static analyzer for 2 security hardening features
13+
(pac-ret, stack clash) using BOLT. The results are promising and I propose
14+
to integrate this into the upstream BOLT project to enable us to implement
15+
higher-quality security mitigations in LLVM and other compilers.
16+
- title: How Slow is MLIR
17+
speaker: "Mehdi Amini, Jeff Niu"
18+
video_url: https://youtu.be/7qvVMUSxqz4
19+
slides_url: /devmtg/2024-04/slides/Keynote/Amini-Niu-HowSlowIsMLIR.pdf
20+
description: |
21+
This talk will dig into the performance aspects involved in implementing a
22+
compiler with MLIR. We're interested here in the compile-time performance
23+
(the efficiency of the compiler implementation) instead of the generated
24+
code. We will go through implementation details of MLIR and quantify the
25+
cost of common operations (traversing or mutating the IR). We will then
26+
expose some anti-patterns that we unfortunately commonly see in MLIR-based
27+
compilers. Finally we will go through a few elements that are impacting
28+
the performance of the IR: for example the threading model of MLIR, how to
29+
use resources for zero-overhead management of large constants, taking
30+
advantage of the Properties custom storage on operations, or the aspect
31+
related to Type/Attribute intrinsic to the storage in the MLIRContext.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
lightning_talks:
2+
- title: "The Road to Github Actions: Migrating LLVM’s CI"
3+
speaker: "Aiden Grossman"
4+
video_url: "https://youtu.be/rqS3kFtCHW8"
5+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Grossman-TheRoadToGitHubActions.pdf"
6+
description: |
7+
This talk covers LLVM’s migration to Github Actions for precommit CI, highlighting challenges, future directions, and community involvement in improving the CI infrastructure.
8+
9+
- title: "Multilib Configuration Files"
10+
speaker: "Peter Smith"
11+
video_url: "https://youtu.be/sEP4qlN_sAU"
12+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Smith-MultilibConfigurationFiles.pdf"
13+
description: |
14+
Peter Smith describes the configuration file-based multilib implementation in Clang and shares experience using it in an embedded toolchain.
15+
16+
- title: "Carbon's high-level semantic IR"
17+
speaker: "Richard Smith"
18+
video_url: "https://youtu.be/vIWT4RhUcyw"
19+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Smith-Carbons-high-level-semanticIR.pdf"
20+
description: |
21+
Richard Smith introduces Carbon’s Semantics IR, discussing challenges and benefits of using a linear execution-based model for program representation during type-checking.
22+
23+
- title: "Enabling Loop Vectorization for Compressing Store Pattern"
24+
speaker: "Tejas Joshi"
25+
video_url: "https://youtu.be/HVQ5mG3lExs"
26+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Joshi-EnablingLoopVectorizer-for-CompressingStorePattern.pdf"
27+
description: |
28+
Tejas Joshi presents LLVM’s newly enabled vectorization for compressing store patterns, showing performance improvements across applications.
29+
30+
- title: "Automatic Proxy App Generation through Input Capture and Generation"
31+
speaker: "Johannes Doerfert, Ivan R. Ivanov"
32+
video_url: "https://youtu.be/RUaW1jOQyAo"
33+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Ivanov-AutomaticProxyAppGeneration.pdf"
34+
description: |
35+
Johannes Doerfert and Ivan R. Ivanov introduce a framework for capturing LLVM IR function inputs or generating synthetic input, facilitating relocatable and reproducible benchmark runs.
36+
37+
- title: "How we use MLIR to test ReRAM cells"
38+
speaker: "Maximilian Bartel"
39+
video_url: "https://youtu.be/Ym9WQHg9k6U"
40+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Bartel-HowWeUseMLIR-To-TestReRAMCells.pdf"
41+
description: |
42+
Maximilian Bartel explains how the linalg and transform dialects in MLIR, along with the Python execution engine, are used to test ReRAM cells for neuromorphic computing devices.
43+
44+
- title: "Automatic Retuning of Floating-Point Precision"
45+
speaker: "Ivan R. Ivanov, William S. Moses"
46+
video_url: "https://youtu.be/QOjgIzEsmzQ"
47+
slides_url: "" # Placeholder as the link for slides wasn't provided
48+
description: |
49+
This talk presents a new pass in the Enzyme framework to automatically change floating-point precision in applications, optimizing for performance without sacrificing accuracy.
50+
51+
- title: "OpenSSF Scorecard - Do we need to improve our security practices?"
52+
speaker: "Marius Brehler"
53+
video_url: "https://youtu.be/X9igMS_CR4o"
54+
slides_url: "/devmtg/2024-04/slides/LightningTalks/Brehler-OpenSSFScorecard-Do-we-need-to-improve.pdf"
55+
description: |
56+
Marius Brehler discusses the OpenSSF Scorecard tool and its integration into the LLVM project, highlighting actions to improve the project’s security score and best practices.

data/devmtg/2024-04/panels.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
panels:
2+
- title: "Carbon: An experiment in different tradeoffs"
3+
speaker: "Chandler Carruth, Jon Ross-Perkins, Richard Smith "
4+
video_url: "https://youtu.be/Za_KWj5RMR8"
5+
slides_url: ""
6+
description: |
7+
This panel is an opportunity to ask the team working on Carbon about any
8+
and all of the tradeoffs and experiments that they're undertaking, how the
9+
project and experiment are progressing, and more. A group of active
10+
members of the Carbon project will share what we've learned so far,
11+
including both things we're excited about and would recommend LLVM and
12+
other projects to look at, as well as things that haven't gone so well.
13+
We'll also be able to talk about what we have left to do, how we plan to
14+
approach it, and places where we likely need help.

data/devmtg/2024-04/posters.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
posters:
2+
- title: "Developing an LLVM Backend for VLIW RISC-V Vector Extension Architectures"
3+
speaker: "Hao-Chun Chang"
4+
poster_url: "/devmtg/2024-04/slides/Posters/Chang-VLIW-RISC-V-VectorExt-Poster.pdf"
5+
description: |
6+
An experimental VLIW RISC-V target with Vector extension is presented. The poster summarizes the LLVM compiler implementation process for the target, with Swing Modulo Scheduling enabled to enhance performance. LMUL issues are discussed, along with the approach to handle them, and experimental performance results are shown.
7+
8+
- title: "Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation of LLVM Bitcode"
9+
speaker: "Christoph Pichler"
10+
poster_url: "/devmtg/2024-04/slides/Posters/Pichler-Poster-CombiningExecutionModes-of-LLVMBitCodeOn-GraalVM.pdf"
11+
description: |
12+
This poster presents an approach combining Ahead-of-Time (AOT) and Just-in-Time (JIT) compilation for LLVM bitcode using GraalVM. The goal is to improve warm-up performance by identifying suitable code for native execution, avoiding JIT overhead.
13+
14+
- title: "Dynamic Evolution of Instruction Set Simulators: A Practical Approach with 'ALPACA'"
15+
speaker: "Nicholas Fry"
16+
poster_url: "/devmtg/2024-04/slides/Posters/Fry-Poster-GeneratingInstructionSetSimulatorsFromHardwareDescription-WithCIRCTMLIR.pdf"
17+
description: |
18+
ALPACA is a CIRCT MLIR approach to generating Instruction Set Simulators (ISS) from RTL/HLS descriptions of accelerator architectures. This poster covers automatic generation of state update functions and how the ISS dynamically evolves with hardware implementations.
19+
20+
- title: "PoTATo: Points-to Analysis via Domain-Specific MLIR Dialect"
21+
speaker: "Robert Konicar"
22+
poster_url: "/devmtg/2024-04/slides/Posters/Konicar-Lauko-PotatoPoster.pdf"
23+
description: |
24+
PoTATo is a unifying framework designed for points-to analysis through a domain-specific MLIR dialect. It simplifies memory effects representation and optimizes the analysis process using general MLIR tooling.
25+
26+
- title: "VAST: MLIR Compiler for C/C++"
27+
speaker: "Henrich Lauko"
28+
poster_url: "/devmtg/2024-04/slides/Posters/Lauko-Poster-VAST.pdf"
29+
description: |
30+
VAST is an MLIR-based compiler designed for program analysis of C/C++. This poster introduces its architecture and the stack of intermediate representations (IRs), focusing on its applications in static analysis, language transpilation, and decompilation.
31+
32+
- title: "IR Around the World: Statistical Analysis of a Massive Multi-Language Corpus of IR"
33+
speaker: "Khoi Nguyen, Andrew Kallai"
34+
poster_url: "/devmtg/2024-04/slides/Posters/Grossman-IRAroundTheWorld.pdf"
35+
description: |
36+
This poster presents statistical analyses of the generated IR and optimization pipelines across multiple languages. The results aim to inform further investigations into pass pipeline optimization and compile-time performance.
37+
38+
- title: "Solving Phase Ordering with Off-Policy Deep Reinforcement Learning Algorithms"
39+
speaker: "Oliver Chang"
40+
poster_url: "/devmtg/2024-04/slides/Posters/Chang-Poster-SolvingPhaseOrdering-WithOffPolicyDeepReinforcement.pdf"
41+
description: |
42+
This work addresses the phase ordering problem in LLVM compilers using off-policy deep reinforcement learning (DRL). The use of Double Deep Q-learning within the Compiler Gym framework is demonstrated to reduce IR instruction count while using a lightweight neural network and memory buffer.

0 commit comments

Comments
 (0)