Cargando…

Potential of the Julia programming language for high energy physics computing

Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developin...

Descripción completa

Detalles Bibliográficos
Autores principales: Eschle, Jonas, Gál, Tamás, Giordano, Mosè, Gras, Philippe, Hegner, Benedikt, Heinrich, Lukas, Hernandez Acosta, Uwe, Kluth, Stefan, Ling, Jerry, Mato, Pere, Mikhasenko, Mikhail, Moreno Briceño, Alexander, Pivarski, Jim, Samaras-Tsakiris, Konstantinos, Schulz, Oliver, Stewart, Graeme Andrew, Strube, Jan, Vassilev, Vassil
Lenguaje:eng
Publicado: 2023
Materias:
Acceso en línea:https://dx.doi.org/10.1007/s41781-023-00104-x
http://cds.cern.ch/record/2866760
_version_ 1780978121350053888
author Eschle, Jonas
Gál, Tamás
Giordano, Mosè
Gras, Philippe
Hegner, Benedikt
Heinrich, Lukas
Hernandez Acosta, Uwe
Kluth, Stefan
Ling, Jerry
Mato, Pere
Mikhasenko, Mikhail
Moreno Briceño, Alexander
Pivarski, Jim
Samaras-Tsakiris, Konstantinos
Schulz, Oliver
Stewart, Graeme Andrew
Strube, Jan
Vassilev, Vassil
author_facet Eschle, Jonas
Gál, Tamás
Giordano, Mosè
Gras, Philippe
Hegner, Benedikt
Heinrich, Lukas
Hernandez Acosta, Uwe
Kluth, Stefan
Ling, Jerry
Mato, Pere
Mikhasenko, Mikhail
Moreno Briceño, Alexander
Pivarski, Jim
Samaras-Tsakiris, Konstantinos
Schulz, Oliver
Stewart, Graeme Andrew
Strube, Jan
Vassilev, Vassil
author_sort Eschle, Jonas
collection CERN
description Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of 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 to use a language that provides both 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 applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.
id cern-2866760
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2023
record_format invenio
spelling cern-28667602023-10-18T09:22:44Zdoi:10.1007/s41781-023-00104-xhttp://cds.cern.ch/record/2866760engEschle, JonasGál, TamásGiordano, MosèGras, PhilippeHegner, BenediktHeinrich, LukasHernandez Acosta, UweKluth, StefanLing, JerryMato, PereMikhasenko, MikhailMoreno Briceño, AlexanderPivarski, JimSamaras-Tsakiris, KonstantinosSchulz, OliverStewart, Graeme AndrewStrube, JanVassilev, VassilPotential of the Julia programming language for high energy physics computingphysics.comp-phOther Fields of Physicshep-exParticle Physics - Experimentcs.PLComputing and Computershep-phParticle Physics - PhenomenologyResearch in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of 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 to use a language that provides both 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 applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identified.Research in high energy physics (HEP) requires huge amounts of computing and storage, putting strong constraints on the code speed and resource usage. To meet these requirements, a compiled high-performance language is typically used; while for physicists, who focus on the application when developing the code, better research productivity pleads for a high-level programming language. A popular approach consists of 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 to use a language that provides both 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 applicability of using the Julia language for HEP research is explored, covering the different aspects that are important for HEP code development: runtime performance, handling of large projects, interface with legacy code, distributed computing, training, and ease of programming. The study shows that the HEP community would benefit from a large scale adoption of this programming language. The HEP-specific foundation libraries that would need to be consolidated are identifiedarXiv:2306.03675oai:cds.cern.ch:28667602023-06-06
spellingShingle physics.comp-ph
Other Fields of Physics
hep-ex
Particle Physics - Experiment
cs.PL
Computing and Computers
hep-ph
Particle Physics - Phenomenology
Eschle, Jonas
Gál, Tamás
Giordano, Mosè
Gras, Philippe
Hegner, Benedikt
Heinrich, Lukas
Hernandez Acosta, Uwe
Kluth, Stefan
Ling, Jerry
Mato, Pere
Mikhasenko, Mikhail
Moreno Briceño, Alexander
Pivarski, Jim
Samaras-Tsakiris, Konstantinos
Schulz, Oliver
Stewart, Graeme Andrew
Strube, Jan
Vassilev, Vassil
Potential of the Julia programming language for high energy physics computing
title Potential of the Julia programming language for high energy physics computing
title_full Potential of the Julia programming language for high energy physics computing
title_fullStr Potential of the Julia programming language for high energy physics computing
title_full_unstemmed Potential of the Julia programming language for high energy physics computing
title_short Potential of the Julia programming language for high energy physics computing
title_sort potential of the julia programming language for high energy physics computing
topic physics.comp-ph
Other Fields of Physics
hep-ex
Particle Physics - Experiment
cs.PL
Computing and Computers
hep-ph
Particle Physics - Phenomenology
url https://dx.doi.org/10.1007/s41781-023-00104-x
http://cds.cern.ch/record/2866760
work_keys_str_mv AT eschlejonas potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT galtamas potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT giordanomose potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT grasphilippe potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT hegnerbenedikt potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT heinrichlukas potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT hernandezacostauwe potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT kluthstefan potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT lingjerry potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT matopere potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT mikhasenkomikhail potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT morenobricenoalexander potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT pivarskijim potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT samarastsakiriskonstantinos potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT schulzoliver potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT stewartgraemeandrew potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT strubejan potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing
AT vassilevvassil potentialofthejuliaprogramminglanguageforhighenergyphysicscomputing