天体物理学 > 天体物理学的仪器与方法
[提交于 2024年9月3日
]
标题: 加速 Fortran 代码:将 Coarray Fortran 与 CUDA Fortran 和 OpenMP 集成的方法
标题: Accelerating Fortran Codes: A Method for Integrating Coarray Fortran with CUDA Fortran and OpenMP
摘要: Fortran在科学计算中的重要性要求制定策略,以确保遗留代码在高性能计算系统上高效运行,并使该语言对开发新的高性能代码保持吸引力。 Coarray Fortran (CAF),作为Fortran 2008标准中引入的并行编程部分,通过一种对Fortran程序员熟悉的语法促进了分布式内存并行性,简化了从单处理器到多处理器编码的转换。 本研究专注于创新和改进一种并行编程方法,该方法融合了Intel Coarray Fortran、Nvidia CUDA Fortran和OpenMP的优势,分别用于分布式内存并行性、高速GPU加速和共享内存并行性。 我们考虑了可分页和固定内存的管理、NUMA多处理器中的CPU-GPU亲和性以及与速度优化的健壮编译器接口。 我们通过将该方法应用于并行化泊松求解器来展示它,并将该方法、实现和扩展性能与消息传递接口(MPI)进行比较,发现CAF提供了相似的速度,但实现更简单。 对于新代码,这种方法为优化并行计算提供了一条更快的途径。 对于遗留代码,它简化了向并行计算的过渡,使其能够转化为可扩展的高性能计算应用程序,而无需进行广泛的重新设计或添加额外的语法。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.