JuliaCon 2026

Graeme Stewart

_


Session

08-12
10:30
30min
Parallel Processing in JetReconstruction.jl
Harshit Nagpal, Graeme Stewart, Mateusz Fila

The Julia JetReconstruction.jl package was released in 2024 and provides a
high-performance native Julia implementation of serial jet reconstruction in
high-energy physics, inspired by the FastJet C++ package. In serial mode the
code outperforms FastJet by 14-40%, depending on the exact parameters used.

Until now, no systematic testing and benchmarking of the code had been done
when running in a parallel, multi-threaded, mode. In this paper we present the
first results of doing this. The initial parallel performance of
JetReconstruction.jl, compared to an equivalent multi-threaded version of
FastJet, showed increasingly poor performance, with the advantage of
JetReconstruction.jl quickly evaporating and becoming about a x10 deficit at
high thread counts in the worst case.

We performed an investigation of the underlying reasons for this poor
performance, looking at thread scheduling parameters, physics code scaling, and
memory allocations and garbage collection issues. We review this performance
investigation, and the profiling tools which we used, and how we finally
understood the source of the problem: memory allocations and garbage collection.

We have now designed a new approach to reuse already allocated memory, with
much better parallel scaling. We discuss ergonomics of this new interface, which
now allows users to run in a highly parallel mode with excellent performance,
tested up to 64 parallel threads, which consistently maintains the advantage of
JetReconstruction.jl over FastJet.

JuliaHEP Mini 2026 - Julia for Nuclear and Elementary Particle Physics
Alte Mensa — Audi Max