使用 x86 架构新 SIMD 指令集扩展 Advanced Vector eXtensions 的自引力碰撞系统 N 体模拟
摘要
我们提出了一种用于自引力碰撞系统的高性能 N 体代码,该代码借助 x86 架构的新 SIMD 指令集扩展 Advanced Vector eXtensions (AVX)(即 Streaming SIMD Extensions (SSE) 的增强版本)进行了加速。使用基于 Sandy Bridge 微架构的 Intel Core i7-2600 处理器(8 MB 缓存,3.40 GHz)的一个处理器核心,我们实现了带有独立时间步长方案(Makino 和 Aarseth, 1992)的四阶 Hermite 格式,并在双精度下达到了每秒 200 亿次浮点运算 (GFLOPS) 的性能,这分别是先前使用 SSE 指令实现的代码(Nitadori 等, 2006b)和使用同一处理器核心但未显式使用任何 SIMD 指令实现的代码性能的 2 倍和 5 倍。我们使用所谓的 NINJA 方案(Nitadori 等, 2006a)对代码进行了并行化,并在四个核心上使用 8 个 MPI 进程,对于包含超过 N = 8192 个粒子的系统达到了 90 GFLOPS 的性能。我们期望在基于 Sandy Bridge 微架构、最多 800 个核心的大规模并行系统上,对于 的自引力碰撞系统实现约 10 万亿次浮点运算 (TFLOPS) 的性能。这一性能将可与图形处理器 (GPU) 集群系统相媲美,例如配备约 200 块 Tesla C1070 GPU 的系统(Spurzem 等, 2010)。本文为使用 GRAPE 和 GPU 的碰撞 N 体模拟提供了一种替代方案。
引用
@article{arxiv.1104.2700,
title = {N-body simulation for self-gravitating collisional systems with a new SIMD instruction set extension to the x86 architecture, Advanced Vector eXtensions},
author = {Ataru Tanikawa and Kohji Yoshikawa and Takashi Okamoto and Keigo Nitadori},
journal= {arXiv preprint arXiv:1104.2700},
year = {2015}
}
备注
14 pages, 9 figures, 3 tables, accepted for publication in New Astronomy. The code is publicly available at http://code.google.com/p/phantom-grape/