中文

自适应网格加密N体代码的向量化与并行化

天体物理学 2015-06-24 v1

摘要

本文描述了我们向量化并并行化的带共享时间步长的自适应网格加密(AMR)N体代码,并报告了其在富士通VPP5000矢量并行超级计算机上的性能。我们的AMR N体代码在需要更高分辨率的地方递归地放置分级网格,所有粒子的时间步长相同。最难向量化的部分是访问网格数据和粒子数据的循环。我们通过改变循环结构对这些部分进行了向量化,使最内层循环遍历单元而不是每个单元内的粒子,即将循环顺序从深度优先顺序改为广度优先顺序。如果采用云胞法,质量赋值也可以通过这种循环顺序交换和将循环拆分为2Ndim2^{N_{dim}}个循环来向量化,其中NdimN_{dim}是维数。这些消除非向量化循环的向量化方案也适用于共享内存多处理机的循环并行化。我们还为分布式内存机器并行化了代码。并行化的关键部分是数据分解。我们按莫顿序(或递归N型序)逐级对分级网格数据进行排序,并将网格数据分割分配给各处理器。粒子被分配给包含该粒子的最精细加密单元所在的处理器。我们使用Λ主导冷暗物质模拟的计时分析显示,我们的并行代码在多达32个处理器(我们测试的最大处理器数)上几乎理想地加速。

关键词

引用

@article{arxiv.astro-ph/0507339,
  title  = {Vectorization and Parallelization of the Adaptive Mesh Refinement N-body Code},
  author = {Hideki Yahagi},
  journal= {arXiv preprint arXiv:astro-ph/0507339},
  year   = {2015}
}

备注

21pages, 16 figures, to be published in PASJ (Vol. 57, No. 5, Oct. 2005)