蒙特卡罗中子输运程序的MPI/OpenMP混合并行研究

Study on MPI/OpenMP Hybrid Parallelism for Monte Carlo Neutron Transport Code

  • 摘要: 消息传递/共享内存混合并行方法具有适应分布共享式集群计算机的发展趋势、有助于解决蒙特卡罗计算内存问题、改善并行性能等优势。本文基于一维中子蒙特卡罗输运程序,实现MPI/OpenMP混合并行,研究影响混合并行性能的因素,提出针对共享内存访问竞争、锁竞争、伪共享等问题的解决方法。测试结果表明,混合并行程序和纯粹MPI并行程序有相近的加速效果,同时大量节省了程序的内存使用,对于实现中子蒙特卡罗输运程序的大规模并行有重要意义。

     

    Abstract: Parallel programming with mixed mode of messages-passing and shared memory has several advantages when used in Monte Carlo neutron transport code, such as fitting hardware of distributed-shared clusters, economizing memory demand of Monte Carlo transport, improving parallel performance, and so on. MPI/OpenMP hybrid parallelism was implemented based on a one dimension Monte Carlo neutron transport code. Some critical factors affecting the parallel performance were analyzed and solutions were proposed for several problems such as contention access, lock contention and false sharing. After optimization the code was tested finally. It is shown that the hybrid parallel code can reach good performance just as pure MPI parallel program, while it saves a lot of memory usage at the same time. Therefore hybrid parallel is efficient for achieving large-scale parallel of Monte Carlo neutron transport.

     

/

返回文章
返回