February 15, 2024
Journal Article

Potential of the Julia programming language for high energy physics computing

Abstract

Research in high energy physics (HEP) requires very large computing resources, putting strong constraints on the code speed and resource usage. To meet the requirements, a compiled high- performance language is typically used, while need for the physicist to focus on the application when developing the code for a better research productivity pleads for a high-level programming language. A tactics gaining in popularity consists in combining Python, used for the high-level interface, and C++, used for the computing intensive part of the code. A more convenient and efficient approach would be using a language that provides at the same time high-level programming and high-performance. The Julia programming language developed at MIT especially to allow the use of a single language in research activities has followed this path. In this paper, the relevance of using Julia language for HEP research is explored, covering the different aspects that are important for HEP code development : running performance, handling of large projects, interface with legacy code, distributed computing, training, and programming easiness. The study shows that HEP community would benefit from a large adoption of this programming language. HEP-specific foundation libraries that would need to be consolidated are identified.

Published: February 15, 2024

Citation

Eschle J., T. Gal, M. Giordano, P. Gras, B. Hegner, L. Heinrich, and U. Hernandez Acosta, et al. 2023. Potential of the Julia programming language for high energy physics computing. Computing and Software for Big Science 7. PNNL-SA-185647. doi:10.1007/s41781-023-00104-x