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...
Autores principales: | , , , , , , , , , , , , , , , , , |
---|---|
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 |