30 September 2024 to 4 October 2024
CERN
Europe/Zurich timezone

Using Julia to perform Physics on time critical systems

30 Sept 2024, 14:00
30m
4/3-006 - TH Conference Room (CERN)

4/3-006 - TH Conference Room

CERN

110
Show room on map
Talk 25' Talks

Speaker

Dr Evangelos Paradas (ASML)

Description

In High Energy Physics, very demanding algorithms are written to represent the physics that takes place either in the accelerators or in the detectors and to analyze the measured signals. The cost of each algorithm can be broken down into two categories: the development and the execution. Starting from the latter, the target platforms set stringent runtime constraints, where the algorithm must behave in a very predicable way, with no anomalous behaviour under expected conditions, including rare occurrences. Because of these needs, HEP has favoured writing code in C++ and, after validation, deploying this directly to target systems.
This choice has a profound impact, adding yet another complexity layer to the development phase. Physicists (and mathematicians), often with limited software background, must learn a complex programming language with significant hurdles, such as raw pointers and memory alignment, "copy by value" vs. "copy by reference" and many other topics that require significant study.
This is exactly the point that High Level programming languages are trying to solve, by bringing expressiveness, modularity, speed and reproducibility to the code development process. At this point, development and execution seem to be pretty far away, for the use-cases that we are interested in. What if Julia could make it possible to develop in an easy way and execute in a deterministic way?
In this talk we will go through the aspects of programming using Julia, the ease of handling the Garbage Collector and the ability to interoperate with C/C++, resulting in smooth deployment and significantly reduced maintenance.

Author

Presentation materials