🤖 AI Summary
To address the low efficiency and poor generality of nested geometry tracking in GPU-accelerated Monte Carlo neutron transport simulations, this work systematically compares three paradigmatic approaches—dynamic polymorphism, static polymorphism, and single-tracker tree acceleration—and proposes a generic single-tracker framework leveraging template metaprogramming combined with BVH and hierarchical spatial indexing. This design eliminates virtual function overhead and obviates geometry-specific code customization. Integrated into the Shift Monte Carlo framework and optimized for the Frontier exascale heterogeneous system, the implementation achieves 91.2% of theoretical peak tracking throughput. The single-tracker method delivers both high performance (83.4% of the optimized baseline) and broad geometric generality, enabling, for the first time without dedicated geometry routines, high-fidelity full-core simulation of a hexagonal-lattice microreactor. This advances both computational efficiency and scalability of fission reactor Monte Carlo simulations.
📝 Abstract
Monte Carlo (MC) neutron transport provides detailed estimates of radiological quantities within fission reactors. This method involves tracking individual neutrons through a computational geometry. CPU-based MC codes use multiple polymorphic tracker types with different tracking algorithms to exploit the repeated configurations of reactors, but virtual function calls have high overhead on the GPU. The Shift MC code was modified to support GPU-based tracking with three strategies: (1) dynamic polymorphism (DP) with virtual functions, (2) static polymorphism (SP), and (3) a single tracker (ST) type with tree-based acceleration. Results on the Frontier supercomputer show that the DP, SP, and ST methods achieve 77.8%, 91.2%, and 83.4% of the practical maximum tracking rate in the worst case, indicating that any of these methods can be used without incurring a significant performance penalty. The flexibility of the ST method is highlighted with a hexagonal-grid microreactor problem, performed without hexagonal-grid-specific tracking routines.