Multigroup Monte Carlo on GPUs: Comparison of history- and event-based algorithms. (March 2018) - Hamilton, Steven P.; Slattery, Stuart R.; Evans, Thomas M.
Highlights: Improvements offered for both history-based and event-based MC transport on GPUs. The history-based algorithm significantly outperforms the event-based algorithm. Filtering dead particles to reduce thread divergence leads to 2x performance gain. Performance on an NVIDIA P100 GPU equivalent to 60–80 CPU cores is demonstrated. Nearly perfect inter-node scaling is demonstrated on the Titan supercomputer. Abstract: This paper presents an investigation of the performance of different multigroup Monte Carlo transport algorithms on GPUs with a discussion of both history-based and event-based approaches. Several algorithmic improvements are introduced for both approaches. By modifying the history-based algorithm that is traditionally favored in CPU-based MC codes to occasionally filter out dead particles to reduce thread divergence, performance exceeds that of either the pure history-based or event-based approaches. The impacts of several algorithmic choices are discussed, including performance studies on Kepler and Pascal generation NVIDIA GPUs for fixed source and eigenvalue calculations. Single-device performance equivalent to 20–40 CPU cores on the K40 GPU and 60–80 CPU cores on the P100 GPU is achieved. In addition, nearly perfect multi-device parallel weak scaling is demonstrated on more than 16, 000 nodes of the Titan supercomputer.