Page 84 - 2025年第56卷第6期
P. 84

分辨率的流域洪水演进过程时,由于研究范围大、计算网格单元数目多以及库朗数(Courantnumber)
              对步长的限制,需要大量计算资源和时间                    [6] 。而雨洪预报预警对计算精度与时效性的高标准,对洪水
              演进过程模拟提出了更高的算力要求。
                  高性能计算综合利用并行计算、高速网络和大容量存储等技术手段,以提供高效、高吞吐量、可
              扩展的计算能力。目前主流并行技术以 OpenMulti - Processing(OpenMP)和 MessagePassingInterface
              (MPI)为代表。OpenMP适用于中央处理器(CPU)多线程或单路多 CPU等内存共享的简单场景。大中
              型计算平台为了避免内存共享造成的通信开销和同步问题,大多使用非内存共享的 MPI将多个 CPU
              或图形处理器(GPU)组建为多路计算集群,是一种较为理想的大规模并行计算实现途径。吴俊香                                             [12] 、
              江春波等     [13 - 14] 利用 MPI技术和基于 CPU的计算机集群,对浅水方程进行了并行数值计算,验证了基
              于 MPI + CPU并行系统的可扩展性和并行性。然而,随着 CPU生产工艺水平趋近物理极限,单个 CPU
              的性能提升难度越来越大,硬件成本和能耗也在不断提高。因此,依赖 CPU的并行计算,性能提升趋
              缓,收益大打折扣。与此同时,GPU制造技术显著进步为并行计算提供了新的动力。与功能全面的
              CPU不同,GPU不适合复杂的逻辑运算,但专精于大量数组的算术运算(如图像渲染),其运算单元
              数量远超主流 CPU,对于大型数组算术运算等计算密集型任务的执行效率非常高。近年来,异构并行
              计算技术逐渐兴起,这种技术结合了 CPU与 GPU、可编程门阵列(FPGA)等协处理器的优势,实现了
              更高效的并行计算。关于异构并行计算技术的发展历程,可以参考文献[ 15 - 16]。
                  在二维浅水方程求解方面,近年来单 GPU计算及 “单节点 - 多 GPU” 并行计算取得了显著进展。
              许栋等   [17] 采用有限体积法模拟洪水演进过程,并利用 GPU并行计算实现了 GPU单卡相对于 CPU单
              核 112倍的加速比。汪煜等           [18] 构建了一套基于非结构网格的二维浅水方程数值模型,并使用三角网格
              对数字高程模型( DEM)进行剖分以适应不规则地形边界,在 GPU上进行了加速计算。Xia等                                        [19] 、练
              继建等   [20] 提出了一种基于非结构网格的二维浅水方程 “单节点- 多 GPU” 模拟方法,采用多线程方法
              实现了 “单节点- 多 GPU” 并行计算;冯新政等                  [21] 采用类似方案在 8GPU平台上进行流域地表径流
              的并行计算,取得了最高 5.77的加速比。与现有的 CPU多核并行和单 GPU并行加速模拟方法相比,
              该方法对大尺度洪水演进过程动力学模拟的计算效率更高,但仍然不足以实现大规模实时洪水预报。
                  尽管基于 “单节点- 多 GPU” 的并行路线在技术上是可行的,但支持的 GPU数量非常有限,其性
              能提升严重依赖于 GPU制造技术升级和先进 GPU硬件获取。然而,目前先进计算 GPU(如美国英伟
              达公司 NVIDIAA100、H100等产品)的研发与生产被国外垄断。由于外部环境变化,这些产品目前在
              国内已难以获得,而且这种困难可能会在未来相当长时间内持续存在,国内研发类似产品的企业也面
              临严峻制裁风险;软件层面,美国英伟达公司也已禁止其 CUDA软件生态用于第三方硬件。这些客观
              因素在事实上阻碍了我国 “单节点- 多 GPU” 并行计算的发展。因此,为实现超高维模型在大量 GPU
              上的并行计算,有必要发展 “多节点- 多 GPU” 并行计算路线。作为多节点并行计算与多 GPU并行计
              算两条技术路线的融合, “多节点 - 多 GPU” 并行计算需要在多个节点之间进行大量数据传输和任务
              协调,如何降低并行计算中的性能损失、保证较高加速比是关键。Morales - Hernandez等                                [22] 基于 MPI +
              CUDA环境在美国橡树岭国家实验室 SUMMIT超级计算机上实现了二维洪水模型 “多节点 - 多 GPU”
              异构并行计算,但 64个节点上加速比仅有 6倍左右,并行效率不理想。
                  为了进一步发展水动力模型异构并行计算技术,加强我国水资源领域科研自主能力、提升洪水模
              拟与预警水平,本研究基于国产处理器( CPU?GPU)研发 “多节点- 多 GPU” 大规模水动力模型分布式
              异构并行计算技术,对流域尺度二维浅水方程进行快速、并行求解,实现流域尺度高精度洪水演进过
              程的分钟级模拟,以期为防洪减灾的预报预警工作提供自主、可靠的技术支撑,同时为流域大模型、
              区域地下水模型等其他水动力模型的并行计算提供借鉴。


              2 数值模型


              2.1 控制方程 水动力模型采用的控制方程为深度平均的二维浅水方程,其矢量形式表示如下:

                     2
                —  7 7  —
   79   80   81   82   83   84   85   86   87   88   89