买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开一种基于快速矩阵分解法的近海气候预测方法和装置。使用已有基于Matern核函数高斯随机场模型以及收集到近海气候物理数据,对该区域的任意空间点位进行物理值预测;使用OpenMP来生成任务依赖图并按依赖顺序调度其中的分解任务;使用MPI来控制矩阵分块后,然后进行不同进程间的非阻塞通信。本发明提出一种全新的MPI+X范式,既可运行在分布式环境中,也可使用原生的OpenMP任务模型进行编程,多线程执行通信有效提升大规模分解算法运行效率。本发明提出一种分布式环境下全新的二维数据布局,平衡分布式分解算法中各进程上负载;分摊计算量较高的任务到不同进程上,从而降低分解算法的通信开销,并提升效率。
主权项: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分布式低秩Cholesky分解S11:初始化MPI,并指定MPI启动参数为MPI_THREAD_MULTIPLE,使得每个进程中同时启用OpenMP多线程进行独立的非阻塞通信;上述多线程包括一个主线程和多个从线程;主线程负责创建所有任务,并生成任务依赖图;在主线程工作任务的同时,其余空闲从线程会自动根据任务依赖图到OpenMP任务队列中获取可执行任务进行绑定并执行;其中OpenMP任务队列中包括分解任务、压缩任务、三角求解任务、尾更新任务、通信任务;所述任务依赖图中的图节点为OpenMP任务队列中的各任务,两图节点的边为两任务的前后依赖关系;S12:某一进程选取某线程执行分解任务,具体在对角线块上采用标准型Cholesky分解;S13:当前从线程执行完分解任务后,由所有进程的线程进行通信任务同步,接着释放通信任务的依赖;然后执行分解任务后的进程选取任意一个从线程执行通信任务,将Cholesky分解结果发送给对应进程;在通信任务中,为非阻塞通信任务设置显式线程调度点;当线程执行发送或者接收操作后遇到调度点时,会暂停当前任务的执行,并切换到OpenMP任务队列中其他可执行的任务;等当前线程再次可调度时,回到调度点处继续执行原来的任务;调度前通过MPI进行通信情况的测试,线程会轮询通信情况并判断需要调度或者继续完成任务;S14:在每次循环的步骤S12后,由各进程选取某从线程依次执行压缩任务和三角求解任务;S15:当前从线程执行完三角求解任务后,由所有进程的线程进行通信任务同步,并释放通信任务的依赖;然后执行过低秩三角求解的进程将两个低秩矩阵和对应矩阵秩,发送给对应进程;S16:各进程选取某从线程对所有尾矩阵块进行尾更新任务;S17:返回步骤S12,直到进入最后一个循环并对最后一个矩阵块完成分解任务;2基于Cholesky分解结果的正反向传播S21:获得上述步骤1分布式低秩Cholesky分解结果;初始化MPI,并指定MPI启动参数为MPI_THREAD_MULTIPLE,使得每个进程中同时启用OpenMP多线程进行独立的非阻塞通信;上述多线程包括一个主线程和多个从线程;主线程负责创建所有任务,并生成任务依赖图;在主线程工作任务的同时,其余空闲从线程会自动根据任务依赖图到OpenMP任务队列中获取可执行任务进行绑定并执行;其中OpenMP任务队列中包括三角求解任务、向量更新任务、通信任务;S22:某一进程选取某从线程对对角线块进行三角求解任务;当前从线程执行完三角求解任务后,由所有进程的线程进行通信任务同步,并释放通信任务的依赖;然后执行过三角求解的进程将求解结果,发送给对应进程;该通信任务的实现方式同步骤S13;S23:各进程选取某一线程对矩阵块进行向量更新任务;S24:返回步骤S22,直到进入最后一个循环并求解出最后一个对角线块解向量;3主进程收集其他进程上的解向量,组合成一个完整解向量;步骤4:主进程利用完整解向量,根据标准矩阵乘法计算预测物理值向量Z1=Σ2*X,即为近海气候预测值。
全文数据:
权利要求:
百度查询: 杭州电子科技大学 一种基于快速矩阵分解法的近海气候预测方法和装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。