276
Views
3
CrossRef citations to date
0
Altmetric
TECHNICAL PAPERS

Threadsafe Dynamic Neighbor Lists for Monte Carlo Ray Tracing

, , &
Pages 1009-1015 | Received 16 Nov 2019, Accepted 19 Jan 2020, Published online: 13 Feb 2020
 

Abstract

Monte Carlo (MC) transport codes offer high-fidelity modeling of particle transport physics, but their high computational cost makes them impractical for many applications. For some applications such as multiphysics and depletion that use finely discretized geometries, a large portion of this computational cost is attributable to ray tracing. Neighbor lists are a well-known method for accelerating ray-tracing calculations in a MC code, but despite their prevalence, little work has been published on the details of their implementation. The fine details can have a significant impact on performance, particularly when using shared-memory parallelism. This paper addresses these details of implementation with a discussion of different neighbor list schemes and their impact on software runtime.

Performance tests were run by using OpenMC on a pin-cell problem discretized with up to 200 axial regions. The results demonstrate that switching from surface-based to cell-based neighbor lists leads to a 10× faster calculation rate for the most fine discretization. Furthermore, using a threadsafe shared-memory data structure results in a 20% faster calculation rate versus simple threadprivate neighbor lists. Results here show that a data structure that is contiguous in memory improves performance by only 1% to 2% over noncontiguous linked lists.

Acknowledgments

The research work presented in this paper was supported by the Idaho National Laboratory under the U.S. Department of Energy (DOE) Idaho Operations Office contract DE-AC07-05ID14517. This material also was based upon work supported by the DOE Office of Science under contract DE-AC02-06CH11357. This research was also partially supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of two DOE organizations (Office of Science and the National Nuclear Security Administration) responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering, and early testbed platforms, in support of the nation’s exascale computing imperative.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.