[发明专利]基于MPI的网格并行预处理方法有效
申请号: | 201410004273.3 | 申请日: | 2014-01-02 |
公开(公告)号: | CN104765589B | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 陈春艳;罗海飙;廖俊豪;王婷 | 申请(专利权)人: | 广州中国科学院软件应用技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F17/30 |
代理公司: | 广州新诺专利商标事务所有限公司44100 | 代理人: | 肖云 |
地址: | 511458 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mpi 网格 并行 预处理 方法 | ||
技术领域
本发明涉及一种并行预处理技术,具体地说,涉及一种网格并行预处理方法。
背景技术
在科学与工程计算领域中,网格对各类微分方程的数值求解具有重要意义,网格分布是求解计算的基础环境。微分方程的求解主要包括数值离散和代数方程组求解两步,在离散方法确定的情况下,网格分布信息能直接反映代数方程组解向量和系数矩阵的逻辑结构。随着并行计算的广泛应用,网格在微分方程的并行求解中扮演着十分重要的角色。对分布式并行计算而言,基于区域分解的网格划分和网格数据分布存储的并行执行是微分方程主要的并行求解途径。
网格划分通过建立网格单元与并行计算机多处理器的对应关系,将一个大规模复杂的网格划分成多个子网格。网格划分的好坏直接影响着并行计算的效率和求解算法的精确度,网格划分策略的关键在于如何将大网格进行划分,使得子网格较容易并行求解,并且能够达到各处理器上计算负载平衡和处理器间通信开销最小的目标。
数据分割和网格信息管理是网格并行预处理主要的耗时阶段,现有技术在网格预处理的数据分割和网格信息管理阶段,耗时长,效率低。对于网格的划分,现有的多层递归对分、行列划分等技术速度慢,划分质量不理想。现有网格预处理方案多为串行执行的方式,只能在单个CPU核上执行,同时多采用串行遍历网格文件,速度较慢。而且,现有网格预处理方案多将网格数据文件集中存储在一个或少数几个文件里,当数据规模较大时,会产生I/O文件读写堵塞,影响网格处理数据的规模和速度。
发明内容
本发明的目的在于提供一种基于MPI的网格并行预处理方法,采用ParMETIS实现高效快速的网格划分,采用分布式存储网格数据,提高了处理数据的规模和速度。
为了实现上述目的,本发明所采用的技术方案如下:
一种基于MPI的网格并行预处理方法,包括以下步骤:给定计算域的网格的分区数;启动MPI多进程,设定进程数;判断进程数是否等于分区数,若等于则打开网格文件,主进程读取网格单元信息文件,将网格单元平均初始分配到各个进程,每个进程创建网格单元的邻接数组,否则重新启动MPI多进程;每个进程调用ParMETIS对网格单元进行网格划分;每个进程将网格单元信息分块读到数组,设定数组的索引位置;每个进程循环遍历网格单元信息文件,判断数组长度减去数组的索引位置号是否小于网格单元信息长度,若小于则读取网格单元信息文件的数据填充到数组中,否则将数组元素赋值给网格单元,并修改数组的索引位置;判断网格单元的分区号是否等于进程号,若等于则将网格单元信息存储到进程文件中,否则修改数组索引位置,继续循环判断。
进一步,计算域的网格的分区数小于或等于并行计算机的处理器数。
进一步,邻接数组的存储格式为CSR。
进一步,每个进程调用ParMETIS的子程序ParMETIS_V3_Mesh2Dual,将网格单元转化成图。
进一步,每个进程调用ParMETIS的子程序ParMETIS_V3_AdaptiveRepart,对图进行重划分。
进一步,每个进程调用ParMETIS的子程序ParMETIS_V3_RefineKway,进一步精化网格划分的质量。
与现有技术相比,本发明采用ParMETIS实现高效快速的网格划分,采用分布式存储网格数据,提高了处理数据的规模和速度。
附图说明
图1为本发明的网格并行预处理的流程示意图;
图2为本发明的网格分布式存储的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明基于MPI的网格并行预处理方法作进一步说明。
本发明采用基于MPI的分布式并行执行方式,通过ParMETIS并行网格分区和重分区功能,利用多层k-路图划分方法对三维网格进行高质量的划分。根据网格划分后的结果,启动多进程循环遍历网格文件,实现大规模网格的快速并行预处理。利用本发明基于MPI的网格并行预处理方法,能显著减少网格并行计算中的通信时间,提高并行计算效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州中国科学院软件应用技术研究所,未经广州中国科学院软件应用技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410004273.3/2.html,转载请声明来源钻瓜专利网。