(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111617373.X
(22)申请日 2021.12.27
(71)申请人 杭州电子科技大 学
地址 310018 浙江省杭州市下沙高教园区2
号大街
(72)发明人 焦瀚 袁俊峰 任永坚 张纪林
铃木智博 欧东阳 曾艳 刘震
许洋 王雷 徐传奇 于晓康
(74)专利代理 机构 杭州君度专利代理事务所
(特殊普通 合伙) 33240
代理人 朱亚冠
(51)Int.Cl.
G06Q 10/04(2012.01)
G06Q 50/26(2012.01)
(54)发明名称
一种基于快速矩阵分解法的近海气候预测
方法和装置
(57)摘要
本发明公开一种基于快速矩阵分解法的近
海气候预测方法和装置。 使用已有基于Matern核
函数高斯随机场模型以及收集到近海气候物理
数据, 对该区域的任意空间点位进行物理值预
测; 使用OpenMP来生成任 务依赖图并按依 赖顺序
调度其中的分解任务; 使用MPI来控制矩阵分块
后, 然后进行不同进程间的非阻塞通信。 本发明
提出一种全新的MPI+X范式, 既可运行在分布式
环境中, 也可使用原生的OpenMP任务模型进行编
程, 多线程执行通信有效提升大规模分解算法运
行效率。 本发 明提出一种分布式环 境下全新的二
维数据布局, 平 衡分布式分解算法中各进程上负
载; 分摊计算量较高的任务到不同进程上, 从而
降低分解 算法的通信开销, 并提升效率。
权利要求书3页 说明书8页 附图3页
CN 114298406 A
2022.04.08
CN 114298406 A
1.一种基于快速矩阵分解法的近海气候预测方法, 其特 征在于包括以下步骤:
步骤(1): 各进程对数据进行划分, 并计算任意 位置之间的距离; 具体是:
1‑1获取待预测位置的坐标数据矩阵L1、 观测位置的坐标数据矩阵L2以及对应的观测物
理值向量Z2;
1‑2配置多个基于MPI通信的MPI进程, 各进程结合改进的二维数据布局, 根据进程数对
步骤1‑1数据分布进行划分, 各进程会分到若干个矩阵块;
1‑3根据L1和L2, 结合公式(1)各进程分别计算出任意两个观测位置之间的距离矩阵D1
以及所有观测位置和待预测位置之间的距离矩阵D2;
其中距离矩阵计算方式如下 所示:
其中E函数为标准欧氏距离计算函数, (x1,y1)、 (x2,y2)为两个任意位置的坐标经纬
度;
步骤(2): 利用基于Matern核函数高斯随机场模型, 各进程获取任意位置之间观测值的
相关性; 具体是:
所述基于 Matern核函数高斯随机场模型中Matern核函数如下:
其中θ1代表方差, θ2代表空间范围, θ3代表平滑度, γ代表标准 gamma函数, K代表根据平
滑度 θ3修正后的贝 塞尔曲线函数;
基于Matern核函数的协方差矩阵计算方式如下 所示:
其中Σ矩阵中对角线位置元素为θ1, 非对角线位置元素为任意位置之间Matern核函数
的计算结果;
对步骤(1)获得的距离矩阵D1和D2, 根据公式(2) ‑(3)分别得到两组协方差矩阵∑1和
∑2;
步骤(3): 各进程结合两组协方差矩阵∑1和∑2, 求解预测物理值向量Z1; 具体是:
3‑1根据克里金法, 获取 预测物理值向量Z1计算公式:
3‑2取Z1*∑2‑1=X, 然后对上述公式(4)建立对称正定线性系统∑1*X=Z2, 求解X; 具体
是:
1)分布式低秩C holesky分解
S11: 初始化MPI, 并指定MPI启动参数为MPI_THREAD_MULTIPLE, 使得每个进程中同时启
用OpenMP多线程进行独立的非阻塞通信; 上述多线程包括一个主线程和多个从线程; 主线
程负责创建所有任务, 并生 成任务依赖图; 在主线程工作任务的同时, 其余空闲从线程会自
动根据任务依赖图到OpenMP任务队列中获取可执行任务进行绑定并执行; 其中OpenMP任务
队列中包括分解任务、 压缩 任务、 三角求 解任务、 尾更新任务、 通信任务;权 利 要 求 书 1/3 页
2
CN 114298406 A
2所述任务依赖图中的图节点为OpenMP任务队列中的各任务, 两图节点的边为两任务的
前后依赖关系;
S12: 某一进程选取某线程执行分解任务, 具体在对角线块上采用标准型Cholesky分
解;
S13: 当前从线程执行完分解任务后, 由所有进程的线程进行通信任务同步, 接着释放
通信任务的依赖; 然后执行分解任务后的进程选取任意一个从线程执行通信任务, 将
Cholesky分解结果发送给对应进程;
在通信任务中, 为非阻塞通信任务设置显式线程调度点; 当线程执行发送或者接收操
作后遇到调度点时, 会暂停当前任务的执行, 并切换到OpenMP任务队列中其他可执行的任
务; 等当前线程再次可调度时, 回到调度点处继续执行原来的任务; 调度前通过MPI进行通
信情况的测试, 线程会轮询通信情况并判断需要调度或者继续完成任务;
S14: 在每次循环的步骤S12后, 由各进程选取某从线程依次执行压缩任务和三角求解
任务;
S15: 当前从线程执行完三角求解任务后, 由所有进程的线程进行通信任务同步, 并释
放通信任务的依赖; 然后执行过低秩三角求解的进程将两个低秩矩阵和对应矩阵秩, 发送
给对应进程;
S16: 各进程选取某从线程对所有尾矩阵块进行尾更新任务;
S17: 返回步骤S12, 直到进入最后一个 循环并对最后一个矩阵块完成分解任务;
2)基于Cholesky分解结果的正反向传播
S21: 获得上述步骤1)分布式低秩Cholesky分解结果; 初始化MPI, 并指定MPI启动参数
为MPI_THREAD_MU LTIPLE, 使得每个进程中同时启用OpenMP多线程进行独立的非阻塞通信;
上述多线程包括一个主线程和多个从线程; 主线程负责创建所有任务, 并生 成任务依赖图;
在主线程工作任务的同时, 其余空闲从线程会自动根据任务依赖图到 OpenMP任务队列中获
取可执行任务进 行绑定并执行; 其中OpenMP任务队列中包括三角求解任务、 向量更新任务、
通信任务;
S22: 某一进程选取某从线程对对角线块进行三角求解任务; 当前从线程执行完三角求
解任务后, 由所有进程的线程进 行通信任务同步, 并释放通信任务的依赖; 然后执行过三角
求解的进程将求 解结果, 发送给对应进程; 该通信任务的实现方式同步骤S13;
S23: 各进程选取某一线程对矩阵块进行向量更新任务;
S24: 返回步骤S2 2, 直到进入最后一个 循环并求 解出最后一个对角线块 解向量;
3)主进程收集 其他进程上的解向量, 组合成一个完整解向量;
步骤(4): 主进程利用完整解向量, 根据标准矩阵乘法计算预测物理值向量Z1=∑2*X,
即为近海气候预测值。
2.如权利要求1所述的一种基于快速矩阵分解法的近海气候预测方法, 其特征在于步
骤1‑1中所述观测物理值向量Z2包括气温、 降水量、 风速、 气压、 湿度。
3.如权利要求1所述的一种基于快速矩阵分解法的近海气候预测方法, 其特征在于步
骤1‑1中所述坐标数据矩阵包括各坐标点的经度和 纬度值。
4.如权利要求1所述的一种基于快速矩阵分解法的近海气候预测方法, 其特征在于步
骤1‑2中所述改进的二维数据布局具体是在一个二维循环布局中存在多个单次循环区域,权 利 要 求 书 2/3 页
3
CN 114298406 A
3
专利 一种基于快速矩阵分解法的近海气候预测方法和装置
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 03:08:13上传分享