首页> 外文期刊>Computational Astrophysics and Cosmology >Sapporo2: a versatile direct N-body library
【24h】

Sapporo2: a versatile direct N-body library

机译:Sapporo2:通用的直接 N -body库

获取原文
           

摘要

Abstract Astrophysical direct N -body methods have been one of the first production algorithms to be implemented using NVIDIA’s CUDA architecture. Now, almost seven years later, the GPU is the most used accelerator device in astronomy for simulating stellar systems. In this paper we present the implementation of the Sapporo2 N -body library, which allows researchers to use the GPU for N -body simulations with little to no effort. The first version, released five years ago, is actively used, but lacks advanced features and versatility in numerical precision and support for higher order integrators. In this updated version we have rebuilt the code from scratch and added support for OpenCL , multi-precision and higher order integrators. We show how to tune these codes for different GPU architectures and present how to continue utilizing the GPU optimal even when only a small number of particles ( N 100 $N 100$ ) is integrated. This careful tuning allows Sapporo2 to be faster than Sapporo1 even with the added options and double precision data loads. The code runs on a range of NVIDIA and AMD GPUs in single and double precision accuracy. With the addition of OpenCL support the library is also able to run on CPUs and other accelerators that support OpenCL .
机译:摘要天体物理N​​体直接方法已成为使用NVIDIA CUDA架构实现的首批生产算法之一。现在,将近七年后,GPU是天文学中最常用的用于模拟恒星系统的加速器设备。在本文中,我们介绍了Sapporo2 N体库的实现,该程序库使研究人员可以毫不费力地将GPU用于N体仿真。五年前发布的第一个版本已被积极使用,但缺乏先进的功能和数值精度方面的通用性以及对高阶积分器的支持。在此更新版本中,我们从头开始重建了代码,并增加了对OpenCL,多精度和高阶积分器的支持。我们将展示如何针对不同的GPU架构调整这些代码,并展示如何即使仅集成了少量粒子(N <100 $ N <100 $)仍能继续利用GPU最优。即使添加了选项和双精度数据加载,这种仔细的调整也可以使Sapporo2比Sapporo1更快。该代码以单精度和双精度精度运行在一系列NVIDIA和AMD GPU上。通过增加对OpenCL的支持,该库还可以在支持OpenCL的CPU和其他加速器上运行。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号