Unstructured mesh tallies are a bottleneck in Monte Carlo neutral particle transport simulations of fusion reactors. This paper introduces the PUMI-Tally library that takes advantage of mesh adjacency information to accelerate these tallies on CPUs and GPUs. For a fixed source simulation using track-length tallies, we achieved a speed-up of 19.7X on an NVIDIA A100, and 9.2X using OpenMP on 128 threads of two AMD EPYC 7763 CPUs on NERSC Perlmutter. On the Empire AI alpha system, we achieved a speed-up of 20X using an NVIDIA H100 and 96 threads of an Intel Xenon 8568Y+. Our method showed better scaling with number of particles and number of elements. Additionally, we observed a 199X reduction in the number of allocations during initialization and the first three iterations, with a similar overall memory consumption. And, our hybrid CPU/GPU method demonstrated a 6.69X improvement in the energy consumption over the current approach.
翻译:非结构网格计数器是聚变反应堆蒙特卡罗中性粒子输运模拟中的一个瓶颈。本文介绍了PUMI-Tally库,该库利用网格邻接信息在CPU和GPU上加速此类计数器。在使用径迹长度计数器的固定源模拟中,我们在NERSC Perlmutter系统上使用NVIDIA A100实现了19.7倍的加速,在两个AMD EPYC 7763 CPU的128个线程上使用OpenMP实现了9.2倍的加速。在Empire AI alpha系统上,我们使用NVIDIA H100和Intel Xenon 8568Y+的96个线程实现了20倍的加速。我们的方法在粒子数量和网格单元数量方面表现出更好的可扩展性。此外,我们观察到在初始化和前三次迭代期间,内存分配次数减少了199倍,而总体内存消耗大致相当。并且,我们的CPU/GPU混合方法在能耗方面比现有方法提升了6.69倍。