Julia in HEP
arXiv:2503.08184 · doi:10.1051/epjconf/202533701266
Abstract
Julia is a mature general-purpose programming language, with a large ecosystem of libraries and more than 12000 third-party packages, which specifically targets scientific computing. As a language, Julia is as dynamic, interactive, and accessible as Python with NumPy, but achieves run-time performance on par with C/C++. In this paper, we describe the state of adoption of Julia in HEP, where momentum has been gathering over a number of years. HEP-oriented Julia packages can already, via UnROOT.jl, read HEP's major file formats, including TTree and RNTuple. Interfaces to some of HEP's major software packages, such as through Geant4.jl, are available too. Jet reconstruction algorithms in Julia show excellent performance. A number of full HEP analyses have been performed in Julia. We show how, as the support for HEP has matured, developments have benefited from Julia's core design choices, which makes reuse from and integration with other packages easy. In particular, libraries developed outside HEP for plotting, statistics, fitting, and scientific machine learning are extremely useful. We believe that the powerful combination of flexibility and speed, the wide selection of scientific programming tools, and support for all modern programming paradigms and tools, make Julia the ideal choice for a future language in HEP.
References in corpus (14)
- FastJet user manual
- Advances in QED with intense background fields
- Study of the doubly charmed tetraquark
- A Roadmap for HEP Software and Computing R&D for the 2020s
- Effective Extensible Programming: Unleashing Julia on GPUs
- Challenges in Monte Carlo event generator software for High-Luminosity LHC
- Event Generators for High-Energy Physics Experiments
- Simulation of semiconductor detectors in 3D with SolidStateDetectors.jl
- Evaluating performance and portability of high-level programming models: Julia, Python/Numba, and Kokkos on exascale nodes
- Potential of the Julia programming language for high energy physics computing
- Performance of Julia for High Energy Physics Analyses
- Productivity meets Performance: Julia on A64FX
- in the double-Regge region
- Polyglot Jet Finding