[发明专利]一种基于多尺度耦合的并行进程合并方法及系统有效
申请号: | 201610789024.9 | 申请日: | 2016-08-31 |
公开(公告)号: | CN106407005B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 聂宁明;贺新福;李建江;张博尧;贾丽霞;杨少峰;冯仰德;吴石;王东杰;豆艳坤 | 申请(专利权)人: | 中国科学院计算机网络信息中心;中国原子能科学研究院;北京科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多尺度耦合的并行进程合并方法及系统。其中,该方法包括:分别计算统计需耦合计算的至少两类计算方法所需的变量和所需的内存空间,并确定需传递的数据的类型与大小;判断所述至少两类计算方法中第一类计算方法的n个进程合并成第二类计算方法的1个进程的合并宽度;按照所述合并宽度对第一类计算方法的n个进程和第二类计算方法的1个进程之间的数据进行释放和迁移传输。该系统包括第一计算模块,第二计算模块和传输模块。本发明实现了计算方法在大规模并行计算中进行不同进程的数据合并,节约了计算资源,实现资源利用的最大化。 | ||
搜索关键词: | 一种 基于 尺度 耦合 并行 进程 合并 方法 系统 | ||
【主权项】:
1.一种基于多尺度耦合的并行进程合并方法,其特征在于,包括以下步骤:分别计算统计需耦合计算的至少两类计算方法所需的变量和所需的内存空间,并确定需传递的数据的类型与大小;判断所述至少两类计算方法中第一类计算方法的n个进程合并成第二类计算方法的1个进程的合并宽度;按照所述合并宽度对第一类计算方法的n个进程和第二类计算方法的1个进程之间的数据进行释放和迁移传输;所述至少两类计算方法包括MD分子动力学模拟与KMC动力学蒙特卡罗模拟,所述内存空间通过以下步骤获取:所述至少两类计算方法中每个进程与相邻进程通信所需的缓冲开销为memBuffers=2*a*(n*blockX*blockY+n*blockX*blockZ+blockY*blockZ),其中,a为单位接触面积通信所需的内存大小,n为合并宽度,blockX,blockY,blockZ分别为MD模拟物理块在X轴,Y轴,Z轴上的长度;KMC的每个进程所需的内存空间为mem_n=memAtoms(nTotalAtoms)+memBuffers+comVariables,其中nTotalAtoms为合并的n个进程中的原子数之和,memAtoms(nTotalAtoms)为原子所占内存,comVariables为公共变量所占内存;所述判断所述至少两类计算方法中第一类计算方法的N个进程合并成第二类计算方法的1个进程的合并宽度步骤包括:(1)以X轴方向为准,对Y轴和Z轴方向的行循环,进行进程合并;(2)初始化合并宽度:n=1;(3)计算加入合并组numGroup的数据量大小:若m%n=0时,x轴上每行的进程按宽度n可分为m/n组,m为x轴上的进程数;若m%n!=0时,x轴上每行的进程按宽度n可分为m/n+1组,最后一组的合并进程数小于n,所占总内存小于前面任何一组,所以在计算时只计算前面合并进程数为n的组的内存即可;①计算加入合并组numGroup的n个进程内原子存储数据大小;②计算加入合并组numGroup的n个进程通信缓存数据大小;③计算加入合并组numGroup的n个进程数据总量大小;(4)确认合并宽度n的值:①如果计算所得的内存mem_n大于单个进程的实际物理内存phyMem,则这行最大合并宽度为当前n减1,继续对其他行进行计算;②如果计算所得的内存mem_n小于或等于单个进程的实际物理内存phyMem,且组号numGroup为最大组号m/n时,进程合并宽度为当前的n,将n加1后继续对该行进行宽度为n+1的判断;(5)计算所有行的合并宽度n中的最小值,即为算法A与算法B耦合的进程合并宽度;所述至少两类计算方法包括MD和KMC,所述按照所述合并宽度对第一类计算方法的n个进程和第二类计算方法的1个进程之间的数据进行释放和迁移传输的步骤包括:(1)以X轴为基准进行进程合并的数据迁移,根据合并宽度n计算沿X轴方向的MD进程合并成numTolGroup个KMC进程;(2)在MD进程中进行数据处理,将KMC进程中不需要的数据释放掉;(3)对于KMC接收进程,释放原子坐标所占的内存P,清空电子云密度数组rho以及嵌入能导数数组df,用于在KMC模拟中存储能量相关的变量ER、EV;(4)数据迁移,发送进程将存储晶格点处原子类型的数组TYPE中表示类型为Cu和空位的部分发送给接收进程;(5)杀死进程合并后剩下的空闲进程;开始KMC模拟。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算机网络信息中心;中国原子能科学研究院;北京科技大学,未经中国科学院计算机网络信息中心;中国原子能科学研究院;北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610789024.9/,转载请声明来源钻瓜专利网。