当前位置: X-MOL 学术Front. Energy Res. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Evaluation of Single-Node Peformance of Parallel Algorithms for Multigroup Monte Carlo Particle Transport Methods
Frontiers in Energy Research ( IF 3.4 ) Pub Date : 2021-06-25 , DOI: 10.3389/fenrg.2021.705823
Donghui Ma , Bo Yang , Qingyang Zhang , Jie Liu , Tiejun Li

Monte Carlo (MC) methods have been widely used to solve the particle transport equation due to their high accuracy and capability of processing complex geometries. History-based and event-based algorithms that are applicable to different architectures are two methods for parallelizing MC code. There is a large of work on evaluating and optimizing parallel algorithms with continuous-energy schemes. In this work, we evaluate the single-node performance of history-based and event-based algorithms for multigroup MC methods on both CPUs and GPUs with Quicksilver, a multigroup MC transport code that has already implemented the history-based algorithms. We firstly implement and optimize the event-based algorithm based on Quicksilver, and then perform the evaluation work extensively on the Coral2 benchmark. Numerical results indicate that contrary to continuous-energy schemes, the history-based approach with multigroup schemes outperforms the event-based algorithm on both architectures in all cases. We summarize the performance loss of the event-based algorithm is mainly due to: (1) extra operations to reorganize particles, (2) batched atomic operations, and (3) poor particle data locality. In spite of the worse performance, the event-based algorithm achieves higher memory bandwidth utilization. We further discuss the impact of memory access patterns and calculation of cross sections (xs) on the performance on the GPU. Built on the analytics, we shed light on the algorithm choice and optimizations for paralleling MC transport code on different architectures.

中文翻译:

多群蒙特卡罗粒子传输方法并行算法单节点性能评估

蒙特卡罗 (MC) 方法由于其高精度和处理复杂几何形状的能力而被广泛用于求解粒子传输方程。适用于不同架构的基于历史和基于事件的算法是并行化 MC 代码的两种方法。有大量关于使用连续能量方案评估和优化并行算法的工作。在这项工作中,我们使用 Quicksilver(一种已经实现基于历史的算法的多组 MC 传输代码)评估了基于历史和基于事件的算法在 CPU 和 GPU 上的多组 MC 方法的单节点性能。我们首先实现和优化基于 Quicksilver 的基于事件的算法,然后在 Coral2 基准上广泛执行评估工作。数值结果表明,与连续能量方案相反,多组方案的基于历史的方法在所有情况下都优于两种架构的基于事件的算法。我们总结了基于事件的算法的性能损失主要是由于:(1)重新组织粒子的额外操作,(2)批量原子操作,以及(3)粒子数据局部性差。尽管性能较差,但基于事件的算法实现了更高的内存带宽利用率。我们进一步讨论了内存访问模式和横截面 (xs) 计算对 GPU 性能的影响。基于分析,我们阐明了在不同架构上并行 MC 传输代码的算法选择和优化。在所有情况下,采用多组方案的基于历史的方法在两种架构上都优于基于事件的算法。我们总结了基于事件的算法的性能损失主要是由于:(1)重新组织粒子的额外操作,(2)批量原子操作,以及(3)粒子数据局部性差。尽管性能较差,但基于事件的算法实现了更高的内存带宽利用率。我们进一步讨论了内存访问模式和横截面 (xs) 计算对 GPU 性能的影响。基于分析,我们阐明了在不同架构上并行 MC 传输代码的算法选择和优化。在所有情况下,采用多组方案的基于历史的方法在两种架构上都优于基于事件的算法。我们总结了基于事件的算法的性能损失主要是由于:(1)重新组织粒子的额外操作,(2)批量原子操作,以及(3)粒子数据局部性差。尽管性能较差,但基于事件的算法实现了更高的内存带宽利用率。我们进一步讨论了内存访问模式和横截面 (xs) 计算对 GPU 性能的影响。基于分析,我们阐明了在不同架构上并行 MC 传输代码的算法选择和优化。(1) 重新组织粒子的额外操作,(2) 批量原子操作,以及 (3) 粒子数据局部性差。尽管性能较差,但基于事件的算法实现了更高的内存带宽利用率。我们进一步讨论了内存访问模式和横截面 (xs) 计算对 GPU 性能的影响。基于分析,我们阐明了在不同架构上并行 MC 传输代码的算法选择和优化。(1) 重新组织粒子的额外操作,(2) 批量原子操作,以及 (3) 粒子数据局部性差。尽管性能较差,但基于事件的算法实现了更高的内存带宽利用率。我们进一步讨论了内存访问模式和横截面 (xs) 计算对 GPU 性能的影响。基于分析,我们阐明了在不同架构上并行 MC 传输代码的算法选择和优化。
更新日期:2021-06-25
down
wechat
bug