《Environmental Modelling & Software》:Parallelization of the Estuarine Saltwater Intrusion Numerical Forecast Model UFDECOM-i Using Fortran DO CONCURRENT
编辑推荐:
非结构化四边形网格模型采用Fortran DO CONCURRENT实现CPU/GPU异构加速,验证统一代码库的可行性。实验表明DO CONCURRENT在CPU上提供16.32倍加速,跨平台移植性良好,但GPU需配合OpenACC显式数据管理才能达到21.48倍加速。研究揭示了标准并行化在科学计算中的高效性与局限性。
郭宏远|陈炳瑞|马瑞|王一赫|朱建荣
中国华东师范大学河口与海岸研究国家重点实验室,上海200241
摘要 高分辨率的河口盐水入侵模拟在计算上要求很高,需要在异构计算平台上高效执行。本研究探讨了使用标准的Fortran并行化技术——DO CONCURRENT——来加速非结构化四边形网格有限差分河口与海岸海洋模型(UFDECOM-i)在统一代码库中的运行,该模型适用于多核CPU和GPU。通过NVFORTRAN编译器实现了三个版本:MC-UFDECOM-i(针对多核CPU)、GPU-UFDECOM-i(使用自动数据迁移)以及GPUA-UFDECOM-i(使用轻量级的OpenACC指令进行显式数据管理)。结果表明,DO CONCURRENT能够在CPU上实现可扩展的共享内存并行性,加速比最高可达16.32倍,并且无需修改代码即可移植到GPU上。然而,为了获得最佳的GPU性能,需要显式的数据管理,GPUA-UFDECOM-i的加速比最高达到了21.48倍。这些结果表明,DO CONCURRENT确保了代码的可移植性和可维护性,而显式的数据控制对于提高GPU效率至关重要。
引言 河口和三角洲地区淡水的可持续利用日益受到盐水入侵的威胁。这一过程由潮汐作用和密度环流驱动,会增加河流的盐度,影响生态系统、水资源管理和社会经济活动(Bhuiyan和Dutta,2012;Biemond等人,2024;Blumberg,1978)。其强度和持续性受河流流量、潮汐、风力作用以及复杂的河口地形控制(An等人,2009;Chen等人,2019b;Ge等人,2022;Ma等人,2025;Rummel等人,2025;Zhu等人,2018),从而导致非线性行为和高度不确定性(Li等人,2020;Matsoukis等人,2022)。近期的极端气候事件加剧了盐水入侵的频率和持续时间,使得河口水资源管理变得更加复杂(Chen等人,2024;Chen等人,2019a;Herbert等人,2015;Li等人,2022;Qiu等人,2025;Wu等人,2010)。
盐水入侵的数值模拟需要较大的计算域来解析大尺度的潮汐和风驱动的环流,以及高分辨率的网格来捕捉河口通道和工程结构。先前的研究强调了远程风力作用在塑造离岸环流和盐度分布中的关键作用(Gong等人,2018;Scroccaro等人,2023)。高分辨率网格对于准确表示河口通道和分叉也非常重要,但会导致多尺度模型,从而带来巨大的计算需求(Fringer等人,2019;Holleman等人,2016)。传统的串行CPU方法难以满足这种三维、长期模拟的需求,而并行CPU模型(如ROMS、FVCOM和Delft3D)通常依赖MPI进行分布式内存计算。然而,MPI存在固有的局限性:构建域分解在技术上复杂,且随着子域数量的增加,通信开销和带宽需求显著增加,从而限制了可扩展性(Chen等人,2006;De Goede,2020;Kumar,2010)。
GPU并行计算提供了一个有前景的替代方案。它提供了大量的并行核心和高内存带宽,在天气预报、波浪建模和海啸预测等领域取得了显著的加速效果(Amouzgar等人,2016;Folkert等人,2012;Liu等人,2020;Yuan等人,2024)。尽管之前有尝试在GPU上加速海洋模型并大幅减少了运行时间,但大多数实现都基于CUDA或OpenACC,这些方法依赖于特定于架构的指令或库(Sunitha等人,2017;Wang等人,2025;Zhao等人,2017)。这些方法在可移植性方面受到限制,严重依赖于GPU,且无法在CPU上直接执行而无需大量改写代码。因此,它们引入了额外的维护成本,并阻碍了跨异构平台的统一并行框架的发展(Panzer等人,2013;Wei等人,2024)。
为了解决这些挑战,最近的研究探索了标准Fortran并行化作为性能可移植性的替代方法。Hammond等人(2022)系统评估了Fortran 2008标准中引入的DO CONCURRENT构造,并将其在多核CPU和GPU上的性能与OpenMP、OpenACC和CUDA实现进行了对比测试。在此基础上,Caplan等人(2024)检验了包括DO CONCURRENT在内的标准并行构造在多家供应商(NVIDIA、AMD和Intel)的GPU上的性能可移植性,展示了它们减少对特定于供应商的编程模型依赖性的潜力。
这些研究表明,DO CONCURRENT能够在保持统一代码库的同时具有竞争力。这种方法特别适用于开发周期较长的复杂科学模型,并提供了一种可维护的方式来表达线程级数据并行性。受这些发现的启发,本研究将DO CONCURRENT应用于UFDECOM-i框架,旨在实现CPU和GPU的并行化。为了解决当前编译器在自动GPU数据管理方面的局限性,选择性地引入了OpenACC指令来优化主机-设备数据传输,同时保持标准并行实现的结构不变。
基于定制的UFDECOM-i模型,本研究构建了一个统一的并行框架,使用标准的Fortran DO CONCURRENT构造支持在单一样本库中多核CPU和GPU上的执行。评估了三种执行配置:MC-UFDECOM-i(针对多核CPU)、使用纯DO CONCURRENT并在GPU上实现统一内存的GPU-UFDECOM-i,以及引入轻量级OpenACC数据指令以优化主机-设备数据传输的GPUA-UFDECOM-i,同时保留了DO CONCURRENT的相同计算内核。
进行了四组数值实验。在Exp1和Exp2中,评估了计算效率以及与工作负载规模和域复杂性相关的可扩展性。在Exp3中,检验了不同CPU和GPU架构之间的跨平台性能。在Exp4中,通过持续三个月的模拟评估了数值准确性和长期稳定性。目的是评估基于DO CONCURRENT的并行化的有效性和可移植性,识别与算法结构和内存行为相关的性能瓶颈,验证在GPU加速下的数值一致性,并展示一种实用且可维护的河口建模并行策略。
数值模型概述 为了解决在大规模环境中模拟小尺度过程的挑战(其中将细尺度模型嵌套到较粗尺度模型中往往既繁琐又效率低下),Ding等人(2021)开发了UFDECOM模型,旨在建立一个从海洋到河流的集成多尺度模拟框架。该模型基于传统的ECOM框架开发,并完全继承了其结构设计。使用了非结构化四边形网格
实验平台 为了评估所提出的基于DO CONCURRENT的并行化策略的性能和硬件适应性,在两个代表性的计算平台上进行了数值实验:一个数据中心级别的GPU节点和一个高性能独立工作站。这种配置能够评估通常用于科学建模的异构CPU和GPU架构。
平台1是河口与海岸研究国家重点实验室配备GPU的超级计算节点
评估指标 为了全面评估并行算法的性能,使用了以下五个指标对本研究中的四个实验进行定量分析:
加速比:时间减少比率: 其中 表示原始UFDECOM-i的运行时间, 表示MC-UFDECOM-i或GPU-UFDECOM-i的运行时间。
均方根误差(RMSE):
相关系数(CC):
技能得分(SS): 其中 表示串行UFDECOM-i的结果; 表示MC-UFDECOM-i的结果
结论 本研究证明了标准Fortran并行化是一种有效且可维护的方法,可以在异构计算平台上加速大规模河口与海岸海洋模型的运行。通过将Fortran DO CONCURRENT构造应用于UFDECOM-i模型,我们开发了一个统一的并行代码框架,支持在多核CPU和GPU上的高效执行,而无需引入不同的代码路径或特定于硬件的内核。
研究结果表明
CRediT作者贡献声明 马瑞: 撰写——审稿与编辑,形式分析。陈炳瑞: 撰写——审稿与编辑,验证,资源,方法论,调查,概念化。朱建荣: 撰写——审稿与编辑,监督,软件,资源,项目管理。王一赫: 撰写——审稿与编辑,形式分析。郭宏远: 撰写——审稿与编辑,初稿撰写,验证,软件,资源,方法论,调查,形式分析,数据整理,概念化
未引用参考文献 Bleichrodt等人,2012;Yuan等人,2020。
利益冲突声明 作者声明他们没有已知的财务利益或个人关系可能影响本文报告的工作。
利益冲突声明 ? 作者声明以下财务利益/个人关系可能被视为潜在的利益冲突:朱建荣报告称获得了中国国家重点研发计划的财务支持。如果有其他作者,他们声明没有已知的财务利益或个人关系可能影响本文报告的工作。
致谢 作者声明他们获得了本文研究和/或发表的财务支持。本工作得到了中国国家重点研发计划 (项目编号2022YFA1004404)的支持。