Julia in HEP
Julia is a mature general-purpose programming language, with a large ecosystem of libraries and more than 12000 third-party packages, specifically targeting scientific computing. Julia runs on x86, aarch64 and PowerPC architectures, and on all major GPU platforms. 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 read HEP’s major file formats, including TTree and RNTuple. Interfaces to some of HEP’s major software packages, such as Geant4, 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.
Authors
- Pere Mato (ORCID: https://orcid.org/0000-0002-3009-8948)
- Uwe Hernandez Acosta (ORCID: https://orcid.org/0000-0002-6182-1481)
- Jerry Ling (ORCID: https://orcid.org/0000-0002-3359-0380)
- Alexander Moreno Briceño (ORCID: https://orcid.org/0000-0001-8415-2543)
- P. Gras (ORCID: https://orcid.org/0000-0002-3932-5967)
- Sam Skipsey
- O. Schulz (ORCID: https://orcid.org/0000-0002-4200-5905)
- G. A. Stewart (ORCID: https://orcid.org/0000-0003-0182-7088)
- T. Gal (ORCID: https://orcid.org/0000-0001-7821-8673)
- Benedikt Hegner (ORCID: https://orcid.org/0009-0009-2020-1620)
Institutions
- Harvard University (US)
- Friedrich-Alexander-Universität Erlangen-Nürnberg (DE)
- Commissariat à l'Énergie Atomique et aux Énergies Alternatives (FR)
- Université Paris-Saclay (FR)
- Helmholtz-Zentrum Dresden-Rossendorf (DE)
- Max Planck Institute for Physics (DE)
- Universidad Antonio Nariño (CO)
- CEA Paris-Saclay (FR)
- Center for Advanced Systems Understanding (DE)
- Institut de Recherche sur les Lois Fondamentales de l'Univers (FR)
- European Organization for Nuclear Research (CH)
- University of Glasgow (GB)
- Ruhr University Bochum (DE)
Publication Details
- Journal
- EPJ Web of Conferences
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1051/epjconf/202533701266
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 2.27