Skip to content

Commit fbba1e2

Browse files
Parallel JetReconstruction.jl proposal (#1826)
* First draft of parallel JR.jl proposal * Add AI policy statement * Add Mateusz as supervisor * Mention PETRA III
1 parent ef7dfa9 commit fbba1e2

File tree

2 files changed

+86
-1
lines changed

2 files changed

+86
-1
lines changed

_gsocorgs/2026/desy.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ logo: DESY-logo.png
77
description: |
88
The Deutsches Elektronen-Synchrotron (DESY) is a major German physics
99
laboratory with a long interest in high-energy physics. DESY is a
10-
major centre for photon science and the site of the European XFEL
10+
major centre for photon science, with the PETRA III synchrotron,
11+
and is the site of the European XFEL
1112
laser. DESY scientists are part of major international HEP experiments,
1213
such as ATLAS, CMS and Belle II.
1314
---
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: Parallel Processing Improvements in Julia Jet Reconstruction
3+
layout: gsoc_proposal
4+
project: JuliaHEP
5+
year: 2026
6+
organization:
7+
- DESY
8+
difficulty: medium
9+
duration: 350
10+
mentor_avail: June-July, September-October
11+
project_mentors:
12+
- email: graeme.andrew.stewart@desy.de
13+
organization: DESY
14+
first_name: Graeme
15+
last_name: Stewart
16+
- email: mateusz.jakub.fila@cern.ch
17+
organization: CERN
18+
first_name: Mateusz
19+
last_name: Fila
20+
---
21+
22+
## Description
23+
24+
The Julia programming language offers a unique combination of speed,
25+
interoperability, ease of use, and flexibility, making it an attractive option
26+
for high-energy physics (HEP) research. Within the HSF context, the
27+
[JuliaHEP](https://github.com/JuliaHEP) initiative aims to develop a set of
28+
foundational packages in the Julia ecosystem that provide the essential
29+
functionality required by HEP researchers.
30+
31+
For a number of years now, there has been a package which performs [serial jet
32+
reconstruction](https://github.com/JuliaHEP/JetReconstruction.jl), an essential
33+
task in high-energy physics, natively in Julia. Performance for serial running
34+
is [excellent](https://doi.org/10.1051/epjconf/202533701067), usually a
35+
little faster than the C++ standard package for this task,
36+
[FastJet](https://fastjet.fr).
37+
38+
However, to date, there has been little investigation of how the Julia code
39+
performs multi-threaded. Some initial investigations indicate the scaling is
40+
less than optimal, but this has not been properly quantified.
41+
42+
Addressing this issue, and improving the code, is the aim of this GSoC project.
43+
44+
## Task ideas
45+
46+
- Develop proper benchmarks for parallel running of JetReconstruction.jl
47+
- Including suitable a suitable benchmark code with FastJet as a reference
48+
- Analyse the performance of the code with these benchmarks
49+
- Identify bottlenecks that are impacting performance
50+
- Improve the code to better utilise multiple CPU code in parallel
51+
52+
## Expected results and milestones
53+
54+
- A well honed set of benchmarks to measure the parallel performance of JetReconstruction.jl, and compare with C++
55+
- An analysis of the performance, with an understanding of bottlenecks
56+
- Code improvements that allow for greater performance (e.g., by reducing allocations)
57+
- Advice for users on how to run efficiently in multi-threaded mode (e.g., garbage collector options)
58+
59+
## Requirements
60+
61+
- Programming experience with C++ (advantageous, in order to be able to understand existing HEP codes)
62+
- Prior experience in Julia (very advantageous)
63+
- A background understanding of high-energy physics (advantageous)
64+
65+
## How to apply
66+
67+
Once CERN/HSF is accepted as a GSoC org, please write an email with a short
68+
introduction to your interests and background to the mentors with the string
69+
"gsoc26" in the subject. There will be a small evaluation task that we will
70+
mail to you then.
71+
72+
## AI usage policy
73+
74+
AI assistance is allowed for this contribution. The applicant takes full
75+
responsibility for all code and results, disclosing AI use for non-routine
76+
tasks (algorithm design, architecture, complex problem-solving). Routine tasks
77+
(grammar, formatting, style) do not require disclosure.
78+
79+
## Links
80+
81+
- [Julia Programming Language](https://julialang.org/)
82+
- [JuliaHEP HSF Group](https://hepsoftwarefoundation.org/workinggroups/juliahep.html)
83+
- [JetReconstruction.jl](https://github.com/JuliaHEP/JetReconstruction.jl)
84+
- [Fast Jet Finding in Julia](https://doi.org/10.1051/epjconf/202533701067)

0 commit comments

Comments
 (0)