Experimental observations and advanced computer simulations in High Energy Physics (HEP) paved way for the recent discoveries at the Large Hadron Collider (LHC) at CERN. Currently, Monte Carlo simulations account for a very significant amount of computational resources of the Worldwide LHC Computing Grid (WLCG).
In looking at the recent trends in modern computer architectures we see a significant deficit in expected growth in performance. Coupled with the increasing compute demand for High Luminosity (HL-LHC) run, it becomes vital to address this shortfall with more efficient simulation.
The simulation software for particle tracking algorithms of the LHC experiments predominantly relies on the Geant4 simulation toolkit. The Geant4 framework can be built using either dynamic or static libraries, the former being the more widely used approach. This study focuses on evaluating the impact of having libraries statically vs dynamically linked, on the simulation software’s execution time.
Two versions of the GCC compiler, namely 4.8.5 and 8.2.0, have been used for these investigations. In addition, a comparison between four optimization levels (Os, O1, O2 and O3) have also been performed. The results show that the static approach, for both the GCC versions considered, reduces the execution time by more than 10% in some cases. Regardless of the build approach, switching from GCC 4.8.5 to GCC 8.2.0 results in an average of 30% improvement in the execution time. In particular, a static build with GCC 8.2.0 leads to an improvement of almost 34% with respect to the default configuration (GCC 4.8.5, dynamic, O2). The different GCC optimizations do not seem to have visible effects on the execution time.
|Consider for promotion||No|