Performance of Julia for High Energy Physics Analyses

@article{Stanitzki2021PerformanceOJ,
  title={Performance of Julia for High Energy Physics Analyses},
  author={Marcel Michael Stanitzki and Jan Strube},
  journal={Computing and Software for Big Science},
  year={2021},
  volume={5},
  pages={1-11}
}
We argue that the Julia programming language is a compelling alternative to implementations in Python and C++ for common data analysis workflows in high energy physics. We compare the speed of implementations of different workflows in Julia with those in Python and C++ . Our studies show that the Julia implementations are competitive for tasks that are dominated by computational load rather than data access. For work that is dominated by data access, we demonstrate an application with… 

Analyzing the Loop Scheduling Mechanisms on Julia Multithreading

  • Diana A. BarrosC. Bentes
  • Computer Science
    2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)
  • 2020
TLDR
This work analyzes the per-formance of the macros @spawn and @threads, used for loop parallelization in Julia, and shows that there is no best fit solution for all cases.

Primer on ILC physics and SiD software tools

  • C. Potter
  • Physics
    The European Physical Journal Plus
  • 2020
We first outline the standard model of particle physics, particle production and decay, and the expected signal and background at a Higgs factory like the international linear collider (ILC). We then

CompF5: End User Analysis Topical Group Report

This report summarizes the work of the Computational Frontier topical group on end user analysis for Snowmass 2021. End User Analysis refers to the extraction of physics results from reconstructed

UnROOT: an I/O library for the CERN ROOT file format written in Julia

TLDR
AwkwardArray (Pivarski et al., 2018) can be seen as a compromise between the two solutions, where the user writes in a special columnar style that has some flexibility for addressing the jaggedness of HEP data.

Jet Reconstruction with Julia

  • Computer Science
  • 2022
TLDR
This project is aimed at reimplementing some important algorithms for HEP in Julia in order to assess developer convenience and performance compared to standard implementations in C++.

MuMuPy: A dimuonium-matter interaction calculator

Updating the SiD Detector concept

The SiD Detector is one of two detector designs for the future International Linear Collider (ILC) that were validated in 2012 SiD features a compact, cost-constrained design for precision Higgs and

A Complete Bibliography of Publications in Computing and Software for Big Science

Calorimeter [17]. Carlo [38]. Cascades [15]. Centers [47]. CephFS [49]. CERN [47, 16]. Challenges [28]. Characteristics [9]. Cherenkov [38]. Classification [35, 2, 25, 42]. Cloud [33, 6].

References

SHOWING 1-10 OF 48 REFERENCES

SciPy 1.0: fundamental algorithms for scientific computing in Python

TLDR
An overview of the capabilities and development practices of SciPy 1.0 is provided and some recent technical developments are highlighted.

An introduction to PYTHIA 8.2

Cataloging the Visible Universe Through Bayesian Inference at Petascale

  • J. RegierK. Pamnany Prabhat
  • Physics, Computer Science
    2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
  • 2018
TLDR
This work constructs an astronomical catalog from 55 TB of imaging data using Celeste, a Bayesian variational inference code written entirely in the high-productivity programming language Julia, to achieve petascale performance.

FastJet user manual

FastJet is a C++ package that provides a broad range of jet finding and analysis tools. It includes efficient native implementations of all widely used 2→1 sequential recombination jet algorithms for

PYTHIA 6.2: Physics and manual

The PYTHIA program can be used to generate high-energy-physics `events', i.e. sets of outgoing particles produced in the interactions between two incoming particles. The objective is to provide as

Jupyter Notebooks - a publishing format for reproducible computational workflows

TLDR
Jupyter notebooks, a document format for publishing code, results and explanations in a form that is both readable and executable, is presented.

Julia: A Fresh Approach to Numerical Computing

TLDR
The Julia programming language and its design is introduced---a dance between specialization and abstraction, which recognizes what remains the same after computation, and which is best left untouched as they have been built by the experts.

LCIO - A persistency framework for linear collider simulation studies

TLDR
This work defines an ''abstract object persistency layer'' that will be used by the applications and presents a persistency framework, called LCIO (Linear Collider I/O), which has to fulfill the requirements of the different groups today and be flexible enough to be adapted to future needs.

Cython: The Best of Both Worlds

Cython is a Python language extension that allows explicit type declarations and is compiled directly to C. As such, it addresses Python's large overhead for numerical loops and the difficulty of

Particle flow calorimetry and the PandoraPFA algorithm