Jeroen Bédorf, Evghenii Gaburov, Simon Portegies Zwart
{"title":"Sapporo2: a versatile direct N-body library","authors":"Jeroen Bédorf, Evghenii Gaburov, Simon Portegies Zwart","doi":"10.1186/s40668-015-0012-z","DOIUrl":null,"url":null,"abstract":"<p>Astrophysical direct <i>N</i>-body methods have been one of the first production algorithms to be implemented using NVIDIA’s <span>CUDA</span> 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 <span>Sapporo2</span>\n\t\t\t\t <i>N</i>-body library, which allows researchers to use the GPU for <i>N</i>-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 <span>OpenCL</span>, 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 (<span>\\(N < 100\\)</span>) is integrated. This careful tuning allows <span>Sapporo2</span> to be faster than <span>Sapporo1</span> 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 <span>OpenCL</span> support the library is also able to run on CPUs and other accelerators that support <span>OpenCL</span>.</p>","PeriodicalId":523,"journal":{"name":"Computational Astrophysics and Cosmology","volume":"2 1","pages":""},"PeriodicalIF":16.2810,"publicationDate":"2015-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1186/s40668-015-0012-z","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computational Astrophysics and Cosmology","FirstCategoryId":"4","ListUrlMain":"https://link.springer.com/article/10.1186/s40668-015-0012-z","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
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 Sapporo2N-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\)) 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.
期刊介绍:
Computational Astrophysics and Cosmology (CompAC) is now closed and no longer accepting submissions. However, we would like to assure you that Springer will maintain an archive of all articles published in CompAC, ensuring their accessibility through SpringerLink's comprehensive search functionality.