Sciweavers

EUROPAR
2010
Springer

Multithreaded Geant4: Semi-automatic Transformation into Scalable Thread-Parallel Software

13 years 4 months ago
Multithreaded Geant4: Semi-automatic Transformation into Scalable Thread-Parallel Software
This work presents an application case study. Geant4 is a 750,000 line toolkit first designed in the mid-1990s and originally intended only for sequential computation. Intel's promise of an 80-core CPU meant that Geant4 users would have to struggle in the future with 80 processes on one CPU chip, each one having a gigabyte memory footprint. Thread parallelism would be desirable. A semiautomatic methodology to parallelize the Geant4 code is presented in this work. Our experimental tests demonstrate linear speedup in a range from one thread to 24 on a 24-core computer. To achieve this performance, we needed to write a custom, thread-private memory allocator, and to detect and eliminate excessive cache misses. Without these improvements, there was almost no performance improvement when going beyond eight cores. Finally, in order to guarantee the run-time correctness of the transformed code, a dynamic method was developed to capture possible bugs and either immediately generate a faul...
Xin Dong 0004, Gene Cooperman, John Apostolakis
Added 09 Nov 2010
Updated 09 Nov 2010
Type Conference
Year 2010
Where EUROPAR
Authors Xin Dong 0004, Gene Cooperman, John Apostolakis
Comments (0)