一种基于OMP的calmet程序的优化方法及系统与流程

文档序号:28426147发布日期:2022-01-12 00:14阅读:205来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种基于OMP的calmet程序的优化方法及系统与流程
一种基于omp的calmet程序的优化方法及系统
技术领域
1.本发明属于程序优化技术领域,尤其涉及一种基于omp的calmet程序的优化方法及系统。


背景技术:

2.目前,calmet气象处理计算模块的优化,一般先从硬件入手,提升cpu的运算性能,并检查硬件设置,优化程序的内存访问。然后从运行环境上调整,通过监控整个系统的性能及各项指标看问题所在,然后看能不能通过一些运行参数的调整,降低系统消耗。最后是编译器级调优,使用编译器的优化选项或者引入自动向量化的方式对程序进行优化。
3.对于非稳态拉格朗日烟团模型系统计算中的气象数据处理calmet计算模块程序的优化,可以先从硬件下手,更换更快处理速度的cpu,加大内存容量,硬盘从机械的换成ssd等等。
4.然后使用编译器的优化选项,有时候也能获得巨大的性能提高。这些方法如果计算网格算例的规模不大,且对程序性能的提升要求不高时,还是会产生一些相应的效果。但是在计算大网格规模的算例时,如模拟计算100千米乘以100千米,分辨率为0.1千米的网格,也就是一百万个网格时,如何calmet气象数据处理模块,使其能够在高性能集群上运行性能效果显著提升,是一个较为困难的问题。
5.然而现有的优化方法当网格算例规模较大时,程序运行的性能提升效果不显著,基本没有效果。并且实现成本偏高;对技术人员要求很高,需要对整个系统非常熟,同样在计算大规模网络算例时,性能提升效果不显著;需要技术人员熟悉编译的使用,以及对优化过程的理解;对集群多处理机的运行环境来说,性能提升效果有限,往往无法满足实际生产的要求。
6.通过上述分析,现有技术存在的问题及缺陷为:现有的优化方法成本高、性能提示效果不显著、对人员要求高,无法满足实际生产的要求。
7.解决以上问题及缺陷的难度为:
8.如何使优化后的程序能够在计算百万网格规模算例,获得显著的性能提升,是需要着重考虑的一个问题。此时问题规模已超过单进程的处理能力,要使程序能在多进程的环境下运行,现有的技术方法无法实现,只能使用omp技术实现进程间的通信。随之而来就会出现一个新的问题,即数据通信的开销会影响到程序的运行性能。如何选取最优的数据划分方式,尽可能的降低通信的时间开销,是一个比较难的问题。
9.解决以上问题及缺陷的意义为:
10.能够在尽可能的节约经济成本的前提下,实现一种基于omp的calmet程序在多进程的运行环境下,对百万网格规模算例的高效并行计算,满足实际生产应用的需求。


技术实现要素:

11.针对现有技术存在的问题,本发明提供了一种基于omp(共享存储并行编程
(openmulti-processing))的calmet程序的优化方法及系统。其中calmet是气象预处理模型,用于在三维网格模型区域上生成小时风场和温度场。
12.本发明是这样实现的,一种基于omp的calmet程序的优化方法,包括:
13.步骤一,将f77代码转化为f90代码,并去除goto语句,替换摒弃的f77语句为f90语句;
14.步骤二,运用分析工具分析程序的热点程序,并记录程序热点函数;
15.步骤三,调整程序的编译选项,并使用英特尔编译器提供的优化选项-自动向量化对程序进行优化;
16.步骤四,使用omp技术对程序的热点模块-avetmp平均温度计算模块、avemix空间混合高度计算模块进行并行优化。
17.进一步,所述分析工具包括intel平台的vtune工具。
18.进一步,步骤三中,所述调整程序的编译选项,并使用英特尔编译器提供的优化选项-自动向量化对程序进行优化包括:
19.(1)进行编译选项优化,使用-o2-g的编译选项进行编译;其中,-g表示使编译器生成调试信息;-02表示尝试更多的寄存器级的优化以及指令级的优化;
20.(2)进行编译器优化:使用英特尔编译器提供的自动向量化进行程序的热点函数的循环计算中的内部循环。
21.进一步,所述循环前还需:使用#pragma vector unaligned编译指令指示编译器进行向量化时使用不对齐的数据读写方式。
22.进一步,步骤四中,所述模块并行化包括:初始化网格数据,分配各进程计算量以及网格计算。
23.进一步,所述使用omp技术对程序的热点模块-avetmp平均温度计算模块、avemix空间混合高度计算模块进行并行优化包括:
24.1)进入函数后调用omp初始化语句,初始化omp环境;
25.2)分析热点函数,对四重循环开始前进行omp划分,将计算量划分给每个线程;
26.3)通过变换循环行列访问次序,更改函数中多维数组访问次序。
27.进一步,所述分析热点函数包括:利用热点分析工具,确定calmet程序计算中最耗时的函数即热点函数。
28.进一步,所述利用热点分析工具,确定calmet程序计算中最耗时的函数即热点函数包括:
29.calmet程序将气象数据用计算机中的二维或三维数组表示为网格系统,遍历所有网格系统,为每个格点计算所需要的计算网格范围,遍历计算网格为每个格点计算平均温度,确定热点函数。
30.进一步,所述对四重循环开始前进行omp划分,将计算量划分给每个线程包括:
31.遍历网格分配任务,并初始化各个进程;将网格计算量分配给各个进程,各进程基于分配到的网格区域进行温度计算;汇总数据并进行进程同步。
32.本发明的另一目的在于提供一种实施所述基于omp的calmet程序的优化方法的基于omp的calmet程序的优化系统,包括:
33.代码转化模块,用于将f77代码转化为f90代码,并去除goto语句,替换摒弃的f77
语句为f90语句;
34.热点程序分析模块,用于运用分析工具分析程序的热点程序,并记录程序热点函数;
35.程序优化模块,用于调整程序的编译选项,并使用英特尔编译器提供的优化选项-自动向量化对程序进行优化;
36.并行优化模块,用于使用omp技术对程序的热点模块-avetmp平均温度计算模块、avemix空间混合高度计算模块进行并行优化。
37.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于omp的calmet程序的优化方法。
38.结合上述的所有技术方案,本发明所具备的优点及积极效果为:
39.本发明将老旧源代码结构化,使用f90代替f77,并去掉goto语句,替换已经摒弃的语句,提升了程序的运算性能。
40.本发明在calmet计算模块程序优化的应用中,针对百万网格规模算例,极大的提升了程序的计算效率使用多线程的并行计算后,且加速比率都不低于800%。
41.同时本发明的方法简单,成本低。
附图说明
42.图1是本发明实施例提供的基于omp的calmet程序的优化方法流程图。
43.图2是本发明实施例提供的omp的并行程序架构结构图。
44.图3是本发明实施例提供的calmet网格系统示意图。
45.图4是本发明实施例提供的热点函数计算过程示意图。
46.图5是本发明实施例提供的热点函数优化过程示意图。
47.图6是本发明实施例提供的优化后时间占比图。
具体实施方式
48.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
49.针对现有技术存在的问题,本发明提供了一种基于omp的calmet程序的优化方法,下面结合附图对本发明作详细的描述。
50.如图1所示,本发明实施例提供的基于omp的calmet程序的优化方法包括:
51.s101,将f77代码转化为f90代码,并去除goto语句,替换摒弃的f77语句为f90语句;
52.s102,运用分析工具分析程序的热点程序,并记录程序热点函数;
53.s103,调整程序的编译选项,并使用英特尔编译器提供的优化选项-自动向量化对程序进行优化;
54.s104,使用omp技术对程序的热点模块-avetmp平均温度计算模块、avemix空间混合高度计算模块进行并行优化。
directive)。openmp支持的编程语言包括c、c++和fortran;而支持openmp的编译器包括sun compiler,gnu compiler和intel compiler等。openmp提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。
76.calmet程序计算原理,作为非稳态拉格朗日烟团模型系统计算中的气象数据处理calmet计算模块程序,该程序主要负责将输入的如风、降水、气压等气象数据经过一系列大气物理公式运算,最终得到模拟的风场数据,calmet程序将气象数据用计算机中的二维或三维数组表示为网格系统,如图3所示。
77.程序计算过程中对气象数据加以公式运算也就是对多维数组进行各种计算,因此该程序的优化过程可看成一个多维数组计算优化问题,利用热点分析工具,找出最耗时的函数,该热点函数计算模块的串行整体计算流程如图4所示。
78.利用omp构建优化方案,分析程序热点可知,函数主要对二维网格进行遍历计算,而网格数据间的计算并没有数据依赖,因此可以将网格计算量合理分配给各个进程,从而达到优化加速的目的,并行优化后的计算逻辑结构如下图5所示,新增的数字编号0到n-1表示进程号。
79.下面结合具体实验数据对比对本发明的积极效果作进一步描述
80.在进行了优化代码、去掉goto语句、启动编译器优化、利用omp优化热点函数等工作后,时间占图如图6所示,结合图6分析可知,计算部分(avetmp图6中的横线,avemix函数为图6中的虚线区域)时间占程序运行时间比重是非常小的,io成为图6中的斜直线区域;这个现象说明cpu利用率得到了很大程度上的提高。其他为图6中的网格区域。
81.加速性能提升表
[0082][0083]
从表中可以看出,原版表示原版程序单进程执行的时间为781min多,本发明消除了大量的goto语句,修改了原程序的结构,使得编译器能够通过源程序生成更加高效的可执行文件,从而时间减少了一倍有余。使用omp优化后,使得优化加速比可达八倍之多。
[0084]
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0085]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系
统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0086]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种提高分类学习数据集质量方...
  • 一种驾驶技能考试场地复核方法...
  • 词条页面的展示方法及装置、存...
  • 基于多模态生物特征识别的中远...
  • 一种基于BPMN2.0规范的...
  • 一种无监督的人脸图像二次聚类...
  • 基于k-medoids算法的...
  • 一种VR模组检测方法及装置与...
  • 船舶基座建模方法、系统、介质...
  • 一种主动防护的网页安全防护设...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

天下网标王响水网站优化推广方案福田企业网站优化哪个好seo网站优化专员工资网站收录优化的成本长沙外贸网站seo优化公司定制神马网站优化施秉县网站优化服务枣阳网站seo优化开发邵通网站优化推广石城seo网站优化南昌市网站优化哪家好深圳小产权房网站优化公司中山网站推广优化方案有哪些网站优化的巢湖网站优化多少钱一年北京网站推广优化网站优化的论文公司优化网站相信金手指河北家纺行业网站优化推广有用吗资源网站怎么优化深圳口碑好的免费网站优化优化网站营销策略珲春市网站seo优化排名承德网站关键词优化多少钱眉山营销型企业网站优化大兴安岭网站优化道真网站优化工厂网站优化要多少钱南阳营销网站优化业网站排名优化匮云速捷选定香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化