[发明专利]一种海洋数值模式并行框架的设计方法有效

专利信息
申请号: 201610243750.0 申请日: 2016-04-14
公开(公告)号: CN105956226B 公开(公告)日: 2019-05-03
发明(设计)人: 沈飙;苗春葆;林霄沛;李明悝;钱成春;宋振亚;刘海行;张从 申请(专利权)人: 中国海洋大学
主分类号: G06F17/50 分类号: G06F17/50
代理公司: 暂无信息 代理人: 暂无信息
地址: 266100*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种海洋数值模式并行框架的设计方法,通过对典型的海洋数值模式的计算特征进行分析,将并行功能模块与物理过程计算模块分离开来,并将并行功能封装成一个独立的模块。并行框架的设计只需关注并行功能的实现和并行效率的优化,无需关注具体求解的物理问题,从而具有高度的通用性;而海洋数值模式的开发可以使用并行框架实现并行化,从而可以从数据分解、进程间通讯、并行输入输出等繁琐的细节中解脱出来,更加专注于物理过程的实现。
搜索关键词: 一种 海洋 数值 模式 并行 框架 设计 方法
【主权项】:
1.一种海洋数值模式并行框架的设计方法,其特征在于,包括如下步骤:S1、完成FPOM框架的初始化工作,在使用FPOM框架的功能前,必须首先对其进行调用;S2、释放已分配的资源,每个进行必须在程序结束前对其进行调用;S3、进行均匀网格划分的区域分解:完成x方向的全域网格数、y方向的全域网格数、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域数据所需的x方向最小维度长度、用来存储子区域数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;S4、进行具备负载平衡的区域分解:完成x方向的全域网格数、y方向的全域网格数、全域各网格的负载、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域数据所需的x方向最小维度长度、用来存储子区域数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;根据workload指定的负载进行区域分解,以实现负载平衡,其它与FPOM_DECOMP_UNIFORM相同;S5、边界网格数据更新:由相邻进程更新边界网格的数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来完成character,integer和real类型的边界网格数据更新;S6、进行循环起止范围的转换:完成内网格循环起止范围以及包含边界网格的循环起止范围的转换;S7、进行局部下标与全局下标的转换;S8、进行并行输入输出;S81、并行打开文件:打开文件以进行并行读写操作,其中<TYPE>可以为CHAR,INT,REAL,分别用来进行character,integer和real类型数据的读写操作;S82、并行关闭文件:关闭已打开的并行IO文件;S83、并行读文件:并行读取数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来读取character,integer和real类型的数据;S84、并行写文件:并行写入数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来写入character,integer和real类型的数据;S9、进行数据的散发和收集;S91、数据散发:将根进程中GArray的数据散发到各个进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;S92、数据收集:从各进程收集数据存入到根进程的GArray中,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;S93、共享数据:共享GArray的数据,返回一个指向共享数据的句柄,其中<TYPE>可以为CHAR,INT,REAL,分别用来共享character,integer和real类型的数据;S94、关闭共享:关闭wh指向的共享数据;S95、共享数据散发:从根进程将win指向的共享数据散发数据到各进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;S96、共享数据收集:从各进程接收数据到根进程中win指向的共享数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;S10、完成广播和规约;S101、广播:将以dat为起始的num个数据从根进程广播到其它进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来广播character,integer和real类型的数据;S102、规约:对value进行指定的规约操作,并将结果存入根进程,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据;S103、组规约:对value进行指定的规约操作,所有进程都可以得到规约结果,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据;S11、进行屏显调试;S111、显示进程信息:每个进程显示自己的ID以及相关信息;S112、显示信息:根进程或所有进程在标准输出上显示指定的信息;S113、显示子区域数据:根据elefmt指定的格式显示数据A,其中<TYPE>可以为CHAR,INT,REAL,分别用来显示character,integer和real类型的数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国海洋大学,未经中国海洋大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610243750.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top