Skip to main content
CenXiv.org
此网站处于试运行阶段,支持我们!
我们衷心感谢所有贡献者的支持。
贡献
赞助
cenxiv logo > astro-ph > arXiv:2409.02294

帮助 | 高级搜索

天体物理学 > 天体物理学的仪器与方法

arXiv:2409.02294 (astro-ph)
[提交于 2024年9月3日 ]

标题: 加速 Fortran 代码:将 Coarray Fortran 与 CUDA Fortran 和 OpenMP 集成的方法

标题: Accelerating Fortran Codes: A Method for Integrating Coarray Fortran with CUDA Fortran and OpenMP

Authors:James McKevitt, Eduard I. Vorobyov, Igor Kulikov
摘要: Fortran在科学计算中的重要性要求制定策略,以确保遗留代码在高性能计算系统上高效运行,并使该语言对开发新的高性能代码保持吸引力。 Coarray Fortran (CAF),作为Fortran 2008标准中引入的并行编程部分,通过一种对Fortran程序员熟悉的语法促进了分布式内存并行性,简化了从单处理器到多处理器编码的转换。 本研究专注于创新和改进一种并行编程方法,该方法融合了Intel Coarray Fortran、Nvidia CUDA Fortran和OpenMP的优势,分别用于分布式内存并行性、高速GPU加速和共享内存并行性。 我们考虑了可分页和固定内存的管理、NUMA多处理器中的CPU-GPU亲和性以及与速度优化的健壮编译器接口。 我们通过将该方法应用于并行化泊松求解器来展示它,并将该方法、实现和扩展性能与消息传递接口(MPI)进行比较,发现CAF提供了相似的速度,但实现更简单。 对于新代码,这种方法为优化并行计算提供了一条更快的途径。 对于遗留代码,它简化了向并行计算的过渡,使其能够转化为可扩展的高性能计算应用程序,而无需进行广泛的重新设计或添加额外的语法。
摘要: Fortran's prominence in scientific computing requires strategies to ensure both that legacy codes are efficient on high-performance computing systems, and that the language remains attractive for the development of new high-performance codes. Coarray Fortran (CAF), part of the Fortran 2008 standard introduced for parallel programming, facilitates distributed memory parallelism with a syntax familiar to Fortran programmers, simplifying the transition from single-processor to multi-processor coding. This research focuses on innovating and refining a parallel programming methodology that fuses the strengths of Intel Coarray Fortran, Nvidia CUDA Fortran, and OpenMP for distributed memory parallelism, high-speed GPU acceleration and shared memory parallelism respectively. We consider the management of pageable and pinned memory, CPU-GPU affinity in NUMA multiprocessors, and robust compiler interfacing with speed optimisation. We demonstrate our method through its application to a parallelised Poisson solver and compare the methodology, implementation, and scaling performance to that of the Message Passing Interface (MPI), finding CAF offers similar speeds with easier implementation. For new codes, this approach offers a faster route to optimised parallel computing. For legacy codes, it eases the transition to parallel computing, allowing their transformation into scalable, high-performance computing applications without the need for extensive re-design or additional syntax.
评论: 被《并行与分布式计算杂志》接受
主题: 天体物理学的仪器与方法 (astro-ph.IM) ; 太阳与恒星天体物理学 (astro-ph.SR); 分布式、并行与集群计算 (cs.DC); 编程语言 (cs.PL)
引用方式: arXiv:2409.02294 [astro-ph.IM]
  (或者 arXiv:2409.02294v1 [astro-ph.IM] 对于此版本)
  https://doi.org/10.48550/arXiv.2409.02294
通过 DataCite 发表的 arXiv DOI
相关 DOI: https://doi.org/10.1016/j.jpdc.2024.104977
链接到相关资源的 DOI

提交历史

来自: James McKevitt [查看电子邮件]
[v1] 星期二, 2024 年 9 月 3 日 21:15:25 UTC (7,267 KB)
全文链接:

获取论文:

    查看标题为《》的 PDF
  • 查看中文 PDF
  • 查看 PDF
  • HTML(实验性)
  • TeX 源代码
  • 其他格式
许可图标 查看许可
当前浏览上下文:
astro-ph.SR
< 上一篇   |   下一篇 >
新的 | 最近的 | 2024-09
切换浏览方式为:
astro-ph
astro-ph.IM
cs
cs.DC
cs.PL

参考文献与引用

  • NASA ADS
  • 谷歌学术搜索
  • 语义学者
a 导出 BibTeX 引用 加载中...

BibTeX 格式的引用

×
数据由提供:

收藏

BibSonomy logo Reddit logo

文献和引用工具

文献资源探索 (什么是资源探索?)
连接的论文 (什么是连接的论文?)
Litmaps (什么是 Litmaps?)
scite 智能引用 (什么是智能引用?)

与本文相关的代码,数据和媒体

alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)

演示

复制 (什么是复制?)
Hugging Face Spaces (什么是 Spaces?)
TXYZ.AI (什么是 TXYZ.AI?)

推荐器和搜索工具

影响之花 (什么是影响之花?)
核心推荐器 (什么是核心?)
IArxiv 推荐器 (什么是 IArxiv?)
  • 作者
  • 地点
  • 机构
  • 主题

arXivLabs:与社区合作伙伴的实验项目

arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。

与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。

有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.

这篇论文的哪些作者是支持者? | 禁用 MathJax (什么是 MathJax?)
  • 关于
  • 帮助
  • contact arXivClick here to contact arXiv 联系
  • 订阅 arXiv 邮件列表点击这里订阅 订阅
  • 版权
  • 隐私政策
  • 网络无障碍帮助
  • arXiv 运营状态
    通过...获取状态通知 email 或者 slack

京ICP备2025123034号