Potential of the Julia programming language for high energy physics computing

06/06/2023
by   J. Eschle, et al.
0

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

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/08/2017

Effective Extensible Programming: Unleashing Julia on GPUs

GPUs and other accelerators are popular devices for accelerating compute...
research
01/21/2020

Lyceum: An efficient and scalable ecosystem for robot learning

We introduce Lyceum, a high-performance computational ecosystem for robo...
research
08/21/2019

Scala Implicits are Everywhere: A large-scale study of the use of Implicits in the wild

The Scala programming language offers two distinctive language features ...
research
04/18/2019

ClangJIT: Enhancing C++ with Just-in-Time Compilation

The C++ programming language is not only a keystone of the high-performa...
research
12/04/2018

Towards new solutions for scientific computing: the case of Julia

This year marks the consolidation of Julia (https://julialang.org/), a p...
research
05/17/2023

The Jaseci Programming Paradigm and Runtime Stack: Building Scale-out Production Applications Easy and Fast

Today's production scale-out applications include many sub-application c...
research
12/22/2020

NetworkDynamics.jl – Composing and simulating complex networks in Julia

NetworkDynamics.jl is an easy-to-use and computationally efficient packa...

Please sign up or login with your details

Forgot password? Click here to reset