iso file download
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111674002.5 (22)申请日 2021.12.31 (71)申请人 中国科学院地球环境研究所 地址 710061 陕西省西安市雁塔区雁翔路 97号 申请人 西安理工大 学 (72)发明人 韩浩 金钊 侯精明 龚佳辉  罗达  (74)专利代理 机构 西安弘理专利事务所 61214 代理人 许志蛟 (51)Int.Cl. G06F 9/50(2006.01) G06F 30/28(2020.01) G06F 30/23(2020.01) G06F 111/10(2020.01)G06F 113/08(2020.01) G06F 119/14(2020.01) (54)发明名称 基于多GPU的水文水动力过程模拟方法 (57)摘要 本发明的基于多GPU的水文水动力过程模拟 方法, 具体为: 对降雨、 下渗、 曼宁系数、 地形高程 进行初始赋值; 将计算区域划分与GPU个数相同 的子区域, GPU个数不小于2, 对每两个子区域重 叠处的单行子区域进行填充; 将各变量从CPU复 制到每个GPU中; 计算降雨、 下渗的水文过程, 在 每个GPU中进行了通量项和源项的并行计算; 采 用CUDA流和P2P方法实现多GPU间的流量和水深 数据的交换和通信; 计算任务完成后, 将每个GP U 的模拟数据复制到CPU中进行合并; 整理和分析 模拟结果, 绘制地表径流过程演变动态图。 本发 明采用多GPU并行计算方法实现了水文水动力数 值模拟的高性能并行化计算过程, 加速计算性能 更显著, 能实现大尺度区域快速模拟。 权利要求书3页 说明书6页 附图4页 CN 114385358 A 2022.04.22 CN 114385358 A 1.基于多GPU的水文水动力过程模拟方法, 其特 征在于, 具体按照以下步骤实施: 步骤1, 对初始变量进行初始赋值, 设定计算的时间步长值和总历时值; 步骤2, 将总计算区域划分为与GPU个数相同的子区域, GPU个数不小于2, 并对每两个子 区域的重 叠区域处最外层的单 行子区域进行填充; 步骤3, 将各变量在每个GPU中进行内存分配, 再从CPU中复制到每个GPU中, 设置多GPU 并行计算的边界条件; 步骤4, 在多GPU中进行水文水动力过程的并行计算, 根据设定的时间步长在每个GPU中 计算每个网格单 元界面的通 量和源项, 完成一次 时间步长计算; 步骤5, 根据一次时间步长计算结果计算流量和水深数据, 将每个GPU中填充的单行子 区域计算后的流 量和水深数据在多GPU间进行 数据交换和通信; 步骤6, 根据数值计算总历时的设置要求, 重复步骤4和步骤5, 依次进行循环计算, 直到 所有时间步长的循环计算任务完成后, 将 每个GPU计算的流量和水深数据复制到CPU中进 行 合并后输出; 步骤7, 对CPU输出的流量和水深模拟数据结果进行整理和分析, 绘制地表径流过程演 变动态图, 并统计在多GPU中完成数值计算的时间。 2.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 步骤1 中, 所述初始变量包括: 降雨、 下渗、 曼宁系数和地形高程。 3.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 所述步 骤2具体按以下步骤实施: 步骤2.1, 设置GPU的个数为k, k≥2, 总计算区域的行数和列数分别为c行、 d列, 总计算 区域的网格总数为c ×d个, 将总计算区域划分为k个子区域, 每个子区域的计算区域大小为 c/k行×d列; 步骤2.2, 对每两个子区域相交 的最外层的单行子区域进行填充, 在相邻的两个子区域 的重叠区域处, 将其外层单行计算单元互相复制到对面子区域的最外层处, 构成新的子计 算区域。 4.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 所述步 骤3中, 将所有的变量在每个GPU中进行内存分配, 所述变量包括: 降雨、 下渗、 曼宁系数、 地 形高程、 流量和水深, 再将各变量从CPU中复制到每个 GPU中, 同时将填充区域的以上变量在 GPU中进行内存分配, 将流量和水深数据在 多GPU中进行定义和存储, 设置多GPU并行计算的 边界条件。 5.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 步骤4 中, 所述并行计算方式为: 采用Godunov格式的有限体积法求解控制方程, 在控制方程中进 一步采用稳渗或Gre en‑Ampt下渗方法计算下渗 值; 所述的控制方程具体表示 为: 权 利 要 求 书 1/3 页 2 CN 114385358 A 2式中: q——为qx、 qy、 h的变量矢量, 其中qx、 qy分别为x和y方向的单宽流 量, h为水深; f、 g——为x和y方向的通 量矢量; S——为源项矢量, 其中S=Sb+Sf包括底坡 源项Sb、 摩阻源项Sf; zb——为地形高程; u、 v——为x和y方向的流速, 其中为qx=uh和qy=vh; g——为重力系数, g=9.81m/s2; Cf——为槽底糙 率系数, 其中Cf=gn2/h1/3, n为曼宁系数; i——为降雨P和下渗fp产生的源项, 其中i=P ‑fp, 分别表示净雨量、 降雨量、 下渗, mm/ h; 所述下渗fp的计算方式为: 若研究区域为城市区域, 则采用稳渗方法, 下渗值为 常数, 等 效为研究区市政管网排涝标准的降雨量值; 若研究区域为非城市的流域区域, 则采用 Green‑Ampt下渗方法, 所述Gre en‑Ampt下渗方法具体表示 为: 式中: fp——为土壤下渗速率, cm/mi n; Ks——为饱和导水率 值, cm/mi n; d——为土壤表层积水的深度, cm; Ls——为湿润锋深度, cm; ——为毛管吸力, cm。 6.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 所述步 骤5中, 当GPU个数不大于5时, 采用CUDA流技术控制多个GPU, 中间过程需经过CPU通信, 首先 将一次时间步长计算后得到的每个填充 单行子区域的流量和水深数据从每个GPU中复制到 CPU中进行存储, 再将CPU中的数值复制到每个GPU的边界处再次进行数据填充和交换通信 计算。 7.根据权利要求1所述的基于多GPU的水文水动力过程模拟方法, 其特征在于, 所述步 骤5中, 当GPU个数大于5时, 为了减少GP U与CPU的通信耗时, 采用P2P即Peer  to Peer技术实 现多个GPU间的直接数据通信, 直接在GPU中将相 邻两个子区域的外层单行计算单元 互相复 制到对面子区域的最外层处, 通过GPU ‑GPU直接进行流量和水深数据的数据填充和交换通权 利 要 求 书 2/3 页 3 CN 114385358 A 3

.PDF文档 专利 基于多GPU的水文水动力过程模拟方法

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于多GPU的水文水动力过程模拟方法 第 1 页 专利 基于多GPU的水文水动力过程模拟方法 第 2 页 专利 基于多GPU的水文水动力过程模拟方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-19 02:01:50上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。