基于WRF模式的GPU移植方法、装置、设备和存储介质制造方法及图纸

技术编号:25395648 阅读:11 留言:0更新日期:2020-08-25 23:01
本申请涉及一种基于WRF模式的GPU移植方法、装置、设备和存储介质。该方法包括:获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。由此通过对比CPU版本和GPU版本的执行结果高效率完成GPU版本的移植过程,后续由GPU版本执行WRF模式的气象数据处理过程时,可大大提高相应的执行性能,对当前WRF模式的计算需要提供良好的数据基础。

【技术实现步骤摘要】
基于WRF模式的GPU移植方法、装置、设备和存储介质
本申请涉及气象科学
,特别是涉及一种基于WRF模式的GPU移植方法、装置、设备和存储介质。
技术介绍
随着气象科学的发展,数值预报(numericalweatherprediction)已成为提高气象预报能力的核心技术,数值模式则是开展数值预报不可或缺的工具。WRF(TheWeatherResearchandForecastingModel)模式是天气预报中常用的数值模式,该模式中的微物理模块WSM6(WRF-Single-Moment6-Class)是一种高度计算密集型模块,当前WSM6模块的计算过程多是基于CPU架构来执行的。现如今,WRF模式向着更高分辨率、更复杂物理过程、集合预报、多模式耦合的方向发展,则其对计算机处理能力的要求也越来越高。因此,现有的CPU架构已不能满足WRF模式的计算需要。
技术实现思路
基于此,有必要针对传统技术中现有的CPU架构已不能满足WRF模式的计算需求的问题,提供一种基于WRF模式的GPU移植方法、装置、设备和存储介质。一种基于WRF模式的GPU移植方法,该方法包括:获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。在其中一个实施例中,目标函数包括WSM6函数;在获取目标函数所需的输入参数之前,上述方法还包括:执行WRF模式执行程序中气象数据的预处理过程,得到WSM6函数所需的输入参数,并将输入参数保存至存储文件。在其中一个实施例中,获取目标函数所需的输入参数,包括:通过执行移植主程序,从存储文件中获取目标函数所需的输入参数。在其中一个实施例中,在根据输入参数执行目标函数对应的CPU版本和GPU版本之前,上述方法还包括:采用预设的GPU版本规则对目标函数对应的CPU版本进行改写,得到GPU版本;该GPU版本规则包括CUDA规则和/或OpenACC规则,GPU版本的调用接口与CPU版本的调用接口相同。在其中一个实施例中,根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果,包括:执行移植主程序,通过调用接口将输入参数传入目标函数对应的CPU版本,执行CPU版本得到对应的执行结果;执行移植主程序,通过调用接口将输入参数传入目标函数对应的GPU版本,执行GPU版本得到对应的执行结果。在其中一个实施例中,上述执行结果包括执行时间和气象预测结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,包括:将GPU版本的执行时间与CPU版本的执行时间进行比较,确定GPU版本的加速倍数;将GPU版本的气象预测结果和CPU版本的气象预测结果进行比较,确定GPU版本的结果误差;当GPU版本的加速倍数大于或者等于预设的倍数阈值,且GPU版本的结果误差小于或者等于预设的误差阈值,将GPU版本保存至存储文件。在其中一个实施例中,上述方法还包括:若GPU版本的加速倍数小于倍数阈值,或者GPU版本的结果误差大于误差阈值,则对GPU版本进行更新;更新后返回执行根据输入参数执行目标函数对应的GPU版本的步骤。一种基于WRF模式的GPU移植装置,该装置包括:获取模块,用于获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的数据处理过程;执行模块,用于根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;比较模块,用于将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现以下步骤:获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。上述基于WRF模式的GPU移植方法、装置、计算机设备和可读存储介质,能够获取目标函数所需的输入参数;目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;根据输入参数执行目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;将CPU版本的执行结果和GPU版本的执行结果进行比较,当比较结果满足预设条件时,将GPU版本进行存储,完成WRF模式的GPU移植过程;预设条件用于表征GPU版本的执行性能。由此通过对比CPU版本和GPU版本的执行结果高效率完成GPU版本的移植过程,后续由GPU版本执行WRF模式的气象数据处理过程时,可大大提高相应的执行性能,对当前WRF模式的计算需要提供良好的数据基础。附图说明图1为一个实施例中计算机设备的内部结构图;图2为一个实施例中基于WRF模式的GPU移植方法的流程示意图;图3为另一个实施例中基于WRF模式的GPU移植方法的流程示意图;图4为又一个实施例中基于WRF模式的GPU移植方法的流程示意图;图5为一个实施例中基于WRF模式的GPU移植装置的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请实施例提供的基于WRF模式的GPU移植方法,可以适用于如图1所示的计算机设备。该计算机本文档来自技高网...

【技术保护点】
1.一种基于WRF模式的GPU移植方法,其特征在于,所述方法包括:/n获取目标函数所需的输入参数;所述目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;/n根据所述输入参数执行所述目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;/n将所述CPU版本的执行结果和所述GPU版本的执行结果进行比较,当比较结果满足预设条件时,将所述GPU版本进行存储,完成WRF模式的GPU移植过程;所述预设条件用于表征GPU版本的执行性能。/n

【技术特征摘要】
1.一种基于WRF模式的GPU移植方法,其特征在于,所述方法包括:
获取目标函数所需的输入参数;所述目标函数为WRF模式执行程序中的功能函数,用于实现WRF模式的气象数据处理过程;
根据所述输入参数执行所述目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果;
将所述CPU版本的执行结果和所述GPU版本的执行结果进行比较,当比较结果满足预设条件时,将所述GPU版本进行存储,完成WRF模式的GPU移植过程;所述预设条件用于表征GPU版本的执行性能。


2.根据权利要求1所述的方法,其特征在于,所述目标函数包括WSM6函数;在所述获取目标函数所需的输入参数之前,所述方法还包括:
执行所述WRF模式执行程序中气象数据的预处理过程,得到所述WSM6函数所需的输入参数,并将所述输入参数保存至存储文件。


3.根据权利要求2所述的方法,其特征在于,所述获取目标函数所需的输入参数,包括:
通过执行移植主程序,从所述存储文件中获取目标函数所需的输入参数。


4.根据权利要求1所述的方法,其特征在于,在所述根据所述输入参数执行所述目标函数对应的CPU版本和GPU版本之前,所述方法还包括:
采用预设的GPU版本规则对所述目标函数对应的CPU版本进行改写,得到所述GPU版本;所述GPU版本规则包括CUDA规则和/或OpenACC规则,所述GPU版本的调用接口与所述CPU版本的调用接口相同。


5.根据权利要求4所述的方法,其特征在于,所述根据所述输入参数执行所述目标函数对应的CPU版本和GPU版本,得到CPU版本的执行结果和GPU版本的执行结果,包括:
执行移植主程序,通过调用接口将所述输入参数传入所述目标函数对应的CPU版本,执行所述CPU版本得到对应的执行结果;
执行移植主程序,通过调用接口将所述输入参数传入所述目标函数对应的GPU版本,执行所述GPU版本得到对应的执行结果。
...

【专利技术属性】
技术研发人员:周康明李震坤
申请(专利权)人:上海眼控科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1