19–25 Oct 2024
Europe/Zurich timezone

Julia in HEP

21 Oct 2024, 11:00
30m
Large Hall

Large Hall

Talk Plenary Plenary session

Speaker

Graeme A Stewart (CERN)

Description

Julia is a mature general-purpose programming language, with a large ecosystem of libraries and more than 10000 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, via UnROOT.jl, already read HEP's major file formats, including TTree and RNTuple formats. 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.

Primary authors

Alexander Moreno Briceño (Universidad Antonio Nariño) Allen Christopher Caldwell (Max-Planck-Institut für Physik) Benedikt Hegner (CERN) Graeme A Stewart (CERN) Jerry 🦑 Ling (Harvard University (US)) Prof. Mikhail Mikhasenko (Ruhr Univeristy Bochum) Oliver Schulz (Max-Planck-Institut für Physik) Pere Mato Vila (CERN) Philippe Gras (Université Paris-Saclay (FR)) Samuel Cadellin Skipsey Tamas Gal (ECAP, FAU Erlangen-Nürnberg) Dr Uwe Hernandez Acosta (Helmholtz-Zentrum Dresden-Rossendorf)

Presentation materials