The Shamrock code: I- Smoothed Particle Hydrodynamics on GPUs
本文提出基于 C++17 和 SYCL 的性能可移植框架 Shamrock,通过二进制代数加速并行树构建并实现 Phantom 的 SPH 算法,在超算上千 GPU 上以高于 90% 的并行效率实现每秒数十亿粒子的处理能力。
2025-03-12 astro-ph.IM cs.DC
Accelerating NBODY6 with a GPU-Enabled Particle-Particle Particle-Tree Scheme
我们描述了一个修改版本的NBODY 6代码模拟星团,大大提高了计算效率,而牺牲的方式很少的精度。远距离力计算器被支持GPU的Barnes-Hut代码所取代,积分是用标准的蛙跳方案完成的。短程力继续使用NBODY 6的基于CPU的四阶Hermite预估-校正格式。我们的代码优于NBODY 6的系统与更多的$3 \times 10^5$粒子和运行超过2倍的系统的$10^6$粒子具有类似的能量守恒。我们的代码应该是有用的模拟现实的致密星团,如球状星团或星系核。
2021-10-22 astro-ph.IM
Implementation of a Parallel Tree Method on a GPU
kd树是计算机科学中的一个基本工具。在其他应用中,kd树搜索(通过树方法)应用于粒子相互作用和邻居搜索的快速评估是非常重要的,因为这些问题的计算复杂度从暴力方法的O(N^2)降低到树方法的O(N log N),其中N是粒子的数量。在本文中,我们提出了一个并行实现的树的方法在图形处理单元(GPU)上运行。我们提出了一个详细的描述,我们如何实现树的方法在Cypress GPU上。我们发现重要的一个优化是本地化粒子排序,以有效地利用缓存内存。我们提出了一些测试结果和性能测量。实验结果表明,在GPU上进行力计算的树遍历是可行和有效的。
2011-12-20 astro-ph.GA astro-ph.IM cs.PF
Oct-tree Method on GPU
kd树是计算机科学中的一个基本工具。其中,kd树搜索(八叉树方法)的应用,以快速评估粒子的相互作用和邻居搜索是非常重要的,因为这些问题的计算复杂度从O(N^2)与暴力方法减少到O(N log N)与树的方法,其中N是粒子的数量。在本文中,我们提出了一个并行实现的树的方法在图形处理器单元(GPU)上运行。我们成功地运行了一个非常有效的宇宙结构形成模拟。在我们的系统上,花费大约900美元,使用N~2.87x10^6个粒子运行了5.79小时,总共执行了1.2x10^13个力评估。我们获得了21.8 Gflops的持续计算速度和41.6 Gflops/Gflops的成本,比2006年的记录高出2.5倍。
2009-09-02 astro-ph.GA astro-ph.IM
GPU-Enabled Particle-Particle Particle-Tree Scheme for Simulating Dense Stellar Cluster System
我们描述的${\rm P^3T}$(粒子树)计划模拟致密恒星系统的实现和性能。在${\rm P^3T}$中,粒子所受的力被分为短程和长程贡献。短程力的计算采用直接求和法,并采用块时间步长的四阶Hermite预估校正法进行积分。对于远程力,我们使用Barnes-Hut树代码和蛙跳积分器的组合。我们的模拟环境的树的一部分是加速使用图形处理单元(GPU),而直接求和是在主机CPU上进行。我们的代码提供了优良的性能和精度的星团模拟大量的粒子,即使当星团的核心尺寸很小。
2015-06-15 astro-ph.GA astro-ph.IM
A GPU accelerated Barnes-Hut Tree Code for FLASH4
我们提出了一个GPU加速CUDA-C实现的巴恩斯小屋(BH)树代码计算重力位八叉树自适应网格。树代码算法在FLASH 4自适应网格细化(AMR)代码框架内实现,因此完全MPI并行。我们描述的算法和目前的测试结果,证明其准确性和性能相比,在当前的FLASH 4版本的算法。我们使用一个麦克劳林球体来测试我们的新实现的准确性,并使用球形的,崩溃的云核与有效的AMR进行性能测试,也与以前的重力求解器相比。根据设置和GPU/CPU比率,我们发现重力单元的加速比至少为3倍,与FLASH 4代码中实现的重力解算器相比高达60倍。我们发现一个整体的加速因子为完整的模拟至少1.6倍,高达10倍
2015-11-26 astro-ph.GA astro-ph.IM physics.comp-ph
Computational advances in gravitational microlensing: a comparison of CPU, GPU, and parallel, large data codes
为了评估未来在高光学深度的引力微透镜计算的进展将如何依赖于硬件和软件解决方案,我们将在图形处理单元(GPU)上实现的直接逆射线拍摄代码与单核CPU上广泛使用的分层树代码以及最近实现的适用于基于CPU的集群超级计算机的并行树代码进行了比较。我们检查树代码的准确性,通过比较与一个直接的代码在更广泛的参数空间范围比以前已经可行。我们证明,所有三个代码呈现可比的精度,和方法的选择取决于有关的规模和性质的微透镜问题正在调查的考虑。在目前的硬件上,单核CPU树代码和GPU直接代码的处理速度几乎没有差异,但是最近单核CPU速度的平台意味着现有的树代码不再能够利用摩尔定律在处理速度上的增长。相反,我们预计在未来几年内GPU的能力将快速增长,这对直接代码有利。我们认为,在天体物理计算的其他领域的进展可能会受益于通过使用“蛮力”算法过渡到GPU,而不是试图将当前最佳解决方案直接移植到GPU语言-对于某些类别的问题,GPU上的简单实现可能已经不比优化的单核CPU版本差。
2010-05-28 astro-ph.CO astro-ph.IM
Single-Pass GPU-Raycasting for Structured Adaptive Mesh Refinement Data
结构化自适应网格加密(SAMR)是一种研究高时空动态范围过程的流行数值方法。它通过调整基础微分方程求解的格子来最有效地表示解,从而降低了计算要求。特别是在天体物理学和宇宙学中,这样的模拟现在可以捕捉到相隔十个数量级甚至更多的空间尺度。SAMR方案中细化区域的不规则位置和扩展以及不同分辨率水平部分重叠的事实,对基于GPU的直接体绘制方法提出了挑战。kD树已被证明有利于将数据域细分为大小相等的单元的非重叠块,这对于当前图形硬件的纹理单元是最佳的,但是使用该数据结构的用于SAMR数据的先前GPU支持的光线投射方法需要针对每个节点的单独渲染通道,从而阻止了需要同时访问多于一个单元块的许多高级照明方案的应用。在本文中,我们提出了一个单通道GPU光线投射算法的SAMR数据,是基于kD树。该树由一组3D纹理有效编码,这允许完全在GPU上自适应地采样完整的光线,而无需任何CPU交互。我们讨论了两种不同的数据存储策略来访问GPU上的网格数据,并将其应用于几个数据集,以证明所提出的方法的好处。
2012-12-13 astro-ph.IM cs.GR
GOTHIC: Gravitational oct-tree code accelerated by hierarchical time step controlling
树方法是天体物理学中非常适合GPU的无碰撞$N$体模拟的广泛实现的算法。采用分层时间步进可以加速$N$体模拟;然而,它很少实现,其潜力在GPU实现中尚未得到测试。我们开发了一个基于分层时间步长控制的引力八叉树加速程序\texttt{GOTHIC},它采用了树方法和分层时间步长。代码通过实时监控每个函数的执行时间来进行自适应优化,并通过平衡多个函数的测量时间来最小化求解时间。在NVIDIA Tesla M2090、K20 X和GeForce GTX TITAN X上进行的真实粒子分布性能测量结果表明,与共享时间步长相比,分层时间步长实现了约3- 5倍的加速。当粒子分布分别代表仙女座星系或NFW球时,在GTX TITAN X上测量到的\texttt{GOTHIC}每步经过的时间为0.30 s或0.44 s,其中$2^{24} =$约为16,777,216个粒子。代码的平均性能相当于GPU理论单精度峰值性能的10- 30%。
2016-10-24 astro-ph.CO astro-ph.GA astro-ph.IM
Accelerating incoherent dedispersion
非相干解色散是脉冲星和瞬变天文学中经常出现的计算密集型问题。对于当前和未来的瞬态流水线,去色散可以支配总执行时间,这意味着其计算速度对科学结果的质量和数量起着约束作用。因此,关键是算法能够利用商品计算硬件的趋势。考虑到这一目标,我们提出了分析的“直接”,“树”和“子带”去色散算法的潜力,有效地执行现代图形处理单元(GPU)。我们发现这三个都是优秀的候选者,并继续使用从分析中获得的洞察力来描述C for CUDA的实现。使用最新的CPU和GPU硬件,与优化的四核CPU代码相比,向GPU的过渡为直接算法提供了9倍的速度提升。对于现实的最新勘测参数,这些速度足够高,不需要进一步优化来实现实时处理。在需要进一步加速的情况下,我们发现树和子带算法能够以一定的拖尾、内存消耗和开发时间权衡为代价提供3- 7倍的更好性能。最后,我们讨论了这些结果对未来瞬态调查的影响。我们的GPU去色散代码以C库的形式公开提供,网址为:http://dedisp.googlecode.com/
2012-01-25 astro-ph.IM
Astrophysical Particle Simulations on Heterogeneous CPU-GPU Systems
异构的CPU-GPU节点在HPC集群中越来越流行。我们需要根据CPU与GPU的相对性能重新考虑此类系统的算法和优化技术。在本文中,我们报告了一个性能优化的粒子模拟程序“OTOO”,它是基于八叉树方法,为异质系统。OTOO的主要应用是天体物理模拟,如N体模型和恒星剧烈合并的演化。我们提出了CPU和GPU之间的最佳任务分配,其中GPU仅用于计算粒子力的计算。此外,我们描述了优化技术,如控制力的准确性,矢量化树行走,和多个GPU之间的工作划分。我们使用OTOO模拟了两颗白矮星的合并过程,发现OTOO在模拟这一过程的命运方面是强大而实用的。
2012-06-06 astro-ph.IM cs.PF physics.comp-ph
GAMER: a GPU-Accelerated Adaptive Mesh Refinement Code for Astrophysics
我们提出了新开发的代码,GAMER(GPU加速自适应网格细化代码),它采用了一种新的方法,以提高性能的自适应网格细化(AMR)天体物理模拟的一个很大的因素与使用的图形处理单元(GPU)。AMR的实现是基于一个层次结构的网格补丁与八叉树数据结构。我们采用三维松弛TVD格式的流体动力学求解器,和一个多级松弛格式的泊松求解器。这两个求解器已在GPU上实现,通过它可以并行推进数百个补丁。该算法利用GPU的异步内存复制功能,减少了CPU和GPU之间数据传输的计算开销,并通过与GPU计算重叠,减少了每个分片的重影区域值的计算时间。我们证明的准确性的代码进行几个标准的测试问题,天体物理学。GAMER是一个可以在多GPU集群系统中运行的并行代码。我们通过在不同的硬件实现中执行纯重子宇宙学模拟来测量代码的性能,其中详细的时序分析提供了具有和不具有GPU加速的计算之间的比较。使用1个有效分辨率为4096^3的GPU和16个有效分辨率为8192^3的GPU时,最大加速因子分别为12.19和10.47。
2009-12-24 astro-ph.CO astro-ph.IM
Teraflop per second gravitational lensing ray-shooting using graphics processing units
使用直接逆射线拍摄方法的引力透镜计算是确定放大率图、焦散图案和光变曲线(例如,作为源轮廓和大小的函数)的计算上昂贵的方式。然而,作为一种易于并行化的计算,引力射线拍摄可以使用可编程图形处理单元(GPU)加速。我们提出了我们的实施逆向射线拍摄的NVIDIA G80一代图形处理器使用NVIDIA计算统一设备架构(CUDA)软件开发工具包。我们还将代码扩展到多GPU系统,包括4 GPU NVIDIA S1070 Tesla单元。我们在单个GPU上实现了182 Gflop/s的持续处理性能,并且使用特斯拉单元实现了1.28 Tflop/s的持续处理性能。我们证明,十亿透镜微透镜模拟可以运行在一台计算机上的特斯拉单位的时间尺度,为了一天,而不使用分层树代码。
2009-05-15 astro-ph.CO astro-ph.IM
PeTar: a high-performance N-body code for modeling massive collisional stellar systems
大质量碰撞恒星系统,如球状星团(GCs)的数值模拟是非常耗时的。到目前为止,只有少数真实的百万体GC模拟与一小部分二进制文件(5%)已通过使用NBODY 6 ++GPU代码执行。这样的模型在基于GPU的超级计算机上需要半年的计算时间。在这项工作中,我们开发了一个新的N体代码,PeTar,结合的方法Barnes-Hut树,Hermite积分器和减速算法正则化(SDAR)。代码可以准确地处理多个系统的任意部分(例如二进制,三进制),同时通过使用MPI,OpenMP,SIMD指令和GPU的混合并行化方法保持高性能。一些基准测试表明,PeTar和NBODY 6 ++GPU在全局结构、双星轨道和逃逸器的长期演化方面具有非常好的一致性。在高配置GPU的台式机上,使用PeTar进行百万天体模拟,所有恒星都在二进制中,性能比NBODY 6 ++GPU快11倍。此外,在Cray XC 50超级计算机上,PeTar随着核心数量的增加而扩展。覆盖超致密矮星和核星团区域的1000万个天体问题成为可能。
2020-07-27 astro-ph.GA astro-ph.IM