Performance Portable Monte Carlo Neutron Transport in MCDC via Numba
针对MC/DC中子输运应用,提出基于Numba编译器的跨平台性能可移植方案,使程序可灵活运行于纯Python、编译型CPU或GPU模式,并结合异步调度器Harmonize优化GPU性能,在CPU和GPU上均取得优异扩展性。
2025-05-29 physics.comp-ph
A Portable Implementation of RANLUX++
高能物理对具有高统计质量的随机数发生器(RNG)有着持续的需求。在本文中,我们提出了根的RANLUX++生成器的实现。我们讨论了选择只依赖于标准C++的可移植性的原因。在初始实现的基础上,我们描述了一组优化来提高发电机速度。这允许达到非常接近原始汇编程序版本的性能。我们在Apple M1和Nvidia GPU上测试了我们的实现,以展示可移植代码的优势。
2021-06-04 physics.comp-ph
Portable GPU implementation of the WP-CCC ion-atom collisions code
本研究将WP-CCC离子-原子碰撞代码移植到NVIDIA和AMD GPU上,通过OpenACC计算矩阵元、调用对应GPU加速LAPACK库处理矩阵运算,提升了性能与能效,为复杂碰撞过程研究提供了可能。
2024-03-07 cs.DC physics.comp-ph
Portable multi-node LQCD Monte Carlo simulations using OpenACC
本文介绍了一种用于交错费米子的并行格点量子色动力学Monte Carlo程序,该程序被设计成可移植于不同的计算机体系结构,包括GPU和商用CPU。可移植性是使用OpenACC并行编程模型实现的,用于开发可以为多种处理器架构编译的代码。本文重点讨论了多个计算节点上的并行化,使用OpenACC管理节点内的并行性,使用OpenMPI管理节点之间的并行性。我们首先讨论了可采用的策略,以最大限度地提高性能,然后我们描述了选定的相关细节的代码,最后衡量的性能和缩放性能,我们能够实现的水平。这项工作主要集中在GPU上,它为这个应用程序提供了显着的高水平的性能,但也与其他处理器上测量的结果进行比较。
2018-01-04 hep-lat physics.comp-ph
targetDP: an Abstraction of Lattice Based Parallelism with Portable Performance
为了在现代计算机上实现高性能,将算法并行性映射到硬件中固有的并行性至关重要。从应用程序开发人员的角度来看,代码可以跨一系列硬件以可移植的方式进行维护也很重要。在这里,我们提出了targetDP(目标数据并行),一个轻量级的编程层,允许抽象的数据并行的应用程序,采用结构化网格。单个源代码可用于在SIMD多核CPU或GPU加速平台上实现线程级并行(TLP)和指令级并行(ILP)。targetDP通过标准C预处理器宏和库函数实现,可以增量地添加到现有应用程序中,并且可以与更高级别的范例(如MPI)组合。我们目前的CPU和GPU的性能测试结果,从格子玻尔兹曼应用程序,激励这项工作。这些不仅展示了性能的可移植性,而且还展示了ILP智能曝光所带来的优化。
2014-07-31 cs.DC hep-lat physics.comp-ph
K-Athena: a performance portable structured grid finite volume magnetohydrodynamics code
大规模模拟是现代研究的关键支柱,需要不断增加的计算资源。近年来,在迈向百亿亿次时代的道路上,出现了各种新颖的众核架构。性能可移植性是防止代码在不同架构下重复重构的必要条件。我们结合雅典娜++,现有的磁流体动力学(MHD)CPU代码,与Kokkos,性能便携式节点上并行编程范式,到K-Athena允许使用一个单一的代码库在多个架构上进行有效的模拟。我们展示了针对不同平台的分析和扩展结果,包括英特尔Skylake CPU、英特尔至强Phis和NVIDIA GPU。K-Athena在单个V100 GPU上实现了$>10^8$单元更新/秒,用于二阶双精度的MHD计算,并在Summit上的多达24,576个GPU上实现了30的加速比(与172,032个CPU核心相比),达到了$1.94\times10^{12}$总单元更新/秒,并行效率为76%。使用屋顶线分析,我们证明了整体性能目前受到DRAM带宽的限制,并计算出62.8%的性能可移植性指标。最后,我们提出的实施策略和遇到的挑战,最大限度地提高性能。这将为其他研究小组提供一种直接的方法来准备他们自己的exascale时代的代码。K-Athena可在https://gitlab.com/pgrete/kathena上获得。
2020-07-15 astro-ph.IM cs.DC cs.PF
Phoebus: Performance Portable GRRMHD for Relativistic Astrophysics
本文介绍了开源广义相对论辐射磁流体动力学模拟代码 PHOEBUS,基于 PARTHENON 框架支持 CPU/GPU 性能可移植,在超过 500 个 H100 GPU 上验证了弱扩展性。
2024-10-15 astro-ph.HE astro-ph.IM astro-ph.SR
A performance portable fast Ewald summation for Stokes flow
Oden Institute for Computational Engineering and Sciences, The University of Texas, Austin(德克萨斯大学奥斯汀分校奥登计算工程与科学学院)
提出GPU上的Ewald求和算法加速周期域中N体Stokes流问题,通过近场/远场分解及新型P2G算法实现高性能,在多种架构上验证了效率。
2026-06-18 cs.DC cs.NA math.NA
KinetiX: A performance portable code generator for chemical kinetics and transport properties
本研究提出性能可移植的化学动力学代码生成工具KinetiX,针对CPU和GPU分别优化计算,在保证高精度的同时,相较Cantera和PelePhysics生成的代码实现了显著性能提升。
2025-02-08 physics.chem-ph physics.comp-ph
Design and optimization of a portable LQCD Monte Carlo code using OpenACC
HPC架构的当前全景是极其异构的,从传统的多核CPU处理器,支持广泛的应用程序,但提供中等的计算性能,到众核GPU,利用积极的数据并行性,并为流计算应用程序提供更高的性能。在这种情况下,代码可移植性(和性能可移植性)成为应用程序易于维护的必要条件;这在科学计算中非常重要,因为代码更改非常频繁,使不同代码版本保持一致变得繁琐且容易出错。在这项工作中,我们提出了一个国家的最先进的生产级LQCD蒙特卡罗应用程序的设计和优化,使用基于指令的OpenACC编程模型。OpenACC将并行编程抽象到描述性级别,使程序员不必指定代码应如何映射到目标体系结构。我们描述了完全用OpenACC编写的代码的实现,并表明我们能够用相同的代码针对几种不同的架构,包括最先进的传统CPU和GPU。我们还测量性能,评估OpenACC代码在多种架构上的计算效率,与特定于GPU的实现进行比较,并表明可以达到良好的性能可移植性水平。
2017-01-02 hep-lat physics.comp-ph
A performance portable implementation of the semi-Lagrangian algorithm in six dimensions
本文提出一种用于六维完全动力学 Vlasov 方程的半拉格朗日算法性能可移植软件实现,通过单一代码库在多架构 CPU 和 GPU 上实现高效运行,验证了超越回旋动理学模型的物理现象。
2023-03-10 cs.DC physics.comp-ph physics.plasm-ph
Portable, Massively Parallel Implementation of a Material Point Method for Compressible Flows
本文提出一种可移植、高并行度的基于GPU的可压缩气体动力学MPM求解器,在可移植性与效率间取得平衡,初步验证了其求解含固体障碍物的强可压缩流动的潜力,为全马赫数流固耦合整体求解器奠定基础。
2024-12-10 cs.DC cs.NA math.NA
Efficient and portable acceleration of quantum chemical many-body methods in mixed floating point precision using OpenACC compiler directives
它演示了如何编译器指令的非专有OpenACC标准可用于companimate和有效地加速速率确定步骤的两个最常用的多体方法的电子结构理论,即二阶Møller-Plesset(MP2)模型在它的分辨率的身份(RI)近似形式和(T)三重校正耦合集群单打和双打模型(CCSD,T))。通过计算指令以及使用优化的设备数学库,能量内核中涉及的操作已经被移植到图形处理单元(GPU)加速器,并且相关联的数据传输相应地被优化到这样的程度,(使用双精度和/或单精度运算)能够扩展到主机中央处理单元(CPU)主存储器容量所允许的最大系统。的混合CPU/GPU实现的性能进行评估,通过计算丙氨酸氨基酸链的测试系统,使用一个电子基组的大小不断增加(范围从双到五重zeta质量)。对于所有,但本研究的最小的问题大小,优化的加速代码(使用一个多核CPU主机节点结合六个GPU)被发现能够减少总的解决方案的时间至少一个数量级的优化,OpenMP线程CPU的参考实现。
2017-01-17 physics.chem-ph physics.comp-ph
A Massively Parallel Performance Portable Free-space Spectral Poisson Solver
本文在 IPPL 中实现性能可移植的 Hockney-Eastwood 与谱收敛 Vico-Greengard 自由空间泊松求解器,并通过降内存改进及多超算 GPU/CPU 扩展测试验证其精度、效率和可移植性。
2025-07-29 cs.DC physics.comp-ph
tinyMD: A Portable and Scalable Implementation for Pairwise Interactions Simulations
本文研究了AnyDSL部分评估框架实现tinyMD的适用性:一个有效的,可扩展的,可移植的粒子之间的成对相互作用的模拟。我们比较tinyMD与miniMD代理应用程序,规模非常好的并行超级计算机。我们讨论了两种实现之间的差异,并对比了miniMD针对单节点CPU和GPU目标的性能,以及其在SuperMUC-NG和Piz Daint超级计算机上的可扩展性。此外,我们证明tinyMD的灵活性,将其与waLBerla多物理框架。这允许我们使用在waLBerla中实现的负载平衡机制来执行tinyMD模拟。
2020-09-16 cs.DC cs.PF cs.PL
GPU acceleration of an iterative scheme for gas-kinetic model equations with memory reduction techniques
本文提出了一种气体动力学模型方程迭代格式的图形处理单元(GPU)加速方法。与以前的GPU并行显式动力学计划,这项工作具有快速收敛的迭代计划。该方法中的存储器减少技术使得能够在当代GPU中实现动力学模型方程的全三维(3D)解,该当代GPU通常具有有限的存储器容量,否则将需要太字节的存储器。通过DSMC方法模拟三维盖驱动空腔流动和超音速稀薄气体绕流的相空间网格尺寸达到0.7万亿点的立方体流动,验证了GPU算法的有效性。GPU算法的性能进行了评估,通过与相应的并行CPU程序使用消息传递接口(MPI)进行比较。对几种型号的GPU的性能测试表明,该算法对GPU的计算和内存资源具有中等到较高的利用率。在Tesla K40 GPU上可以实现$190\times$加速,而对于3D盖驱动的腔流,可以实现单核Intel Xeon-E5 - 2680 v3 CPU。
2018-09-30 physics.comp-ph physics.flu-dyn
FusionRCG: Orchestrating Recursive Computation Graphs across GPU Memory Hierarchies
University of Science and Technology of China(中国科学技术大学);Zhongguancun Academy(中关村学院);Zhongguancun Institute of Artificial Intelligence(中关村人工智能研究院)
本文提出FusionRCG框架,通过优化计算图结构和GPU内存映射,解决高维积分计算中的内存瓶颈问题,实现SCF计算速度提升3.09倍,并在64个GPU上保持75%的并行效率。
2026-05-13 cs.DC physics.chem-ph physics.comp-ph
LAMMPS-KOKKOS: Performance Portable Molecular Dynamics Across Exascale Architectures
本文探讨LAMMPS通过集成Kokkos性能可移植库适配异构计算环境,研究三类原子间势的性能可移植性,展示不同GPU及三台百亿亿次机器的性能结果与强扩展性。
2025-09-24 cs.DC cs.PF physics.comp-ph
GPU Acceleration of an Established Solar MHD Code using OpenACC
GPU加速器对许多学科的高性能计算产生了显着的影响。它们以低成本/低功耗提供高性能,因此已成为许多大型超级计算机的主要计算资源。在这里,我们使用OpenACC以完全可移植的单源方式在Solar MHD代码(MAS)中实现多GPU加速。我们的初步实施是集中在MAS运行在一个减少物理“零测试”模式。虽然它本身很有价值,但我们的主要目标是为一个完整的物理学,热力学MHD实现铺平道路。我们描述了OpenACC的实施方法和挑战。在多CPU和多GPU系统上显示了生产级磁通绳喷发模拟的“时间解决方案”性能结果。我们发现,GPU加速的MAS代码有能力在一个单一的多GPU服务器上运行“零测试”模拟的速度,以前需要多个CPU服务器节点的超级计算机。
2018-11-06 astro-ph.SR cs.DC cs.PL
Accelerating QDP++ using GPUs
图形处理单元(GPU)作为科学高性能计算(HPC)中的目标架构变得越来越重要。NVIDIA建立了CUDA作为一种并行计算架构,控制和利用GPU的计算能力。CUDA为C++语言元素提供了足够的支持,以在设备内存域中启用表达式模板(ET)技术。QDP++是一个适用于量子场论的C++矢量类库,它提供了矢量数据类型和表达式,并形成了格点量子色动力学软件套件Chroma的基础。在这项工作中,利用ET技术和使用即时(JIT)编译成功实现了将QDP++表达式计算加速到GPU。可移植表达式模板引擎(PETE)和CUDA内核参数的C API用于在主机和设备内存域之间建立桥梁。这提供了将色度例程加速到GPU的可能性,这些GPU通常不受特殊优化的影响。作为一个应用实例,在GPU上加速了一个涂抹例程。可以测量到与正常CPU执行相比的显著加速。
2011-05-11 cs.DC cs.PL hep-lat