[发明专利]一种基于CUDA C的短波辐射模式加速方法在审
申请号: | 202110201042.1 | 申请日: | 2021-02-23 |
公开(公告)号: | CN112906224A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 王玉柱;王珍珍 | 申请(专利权)人: | 中国地质大学(北京) |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F9/448 |
代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 彭伶俐 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cuda 短波 辐射 模式 加速 方法 | ||
本发明公开了一种基于CUDA C的短波辐射模式加速方法,主要通过CUDA C对地球系统模式中短波辐射模式RRTMG_SW进行加速计算,以此来提高短波辐射通量以及冷却/加热速率的计算效率。该方法包括以下步骤:在CPU端进行短波辐射过程所需数据的定义、初始化;GPU分配合适的内存空间来存储计算参数以及最终结果;将CPU内存中的计算参数复制到GPU的全局内存中;启动GPU线程,调用kernel函数进行并行计算;将GPU内存中的最终计算结果传递回CPU内存。本发明有益效果:大幅缩短短波辐射模式计算时间,提高了地球系统模式的计算效率。
技术领域
本发明涉及高性能计算技术领域,具体涉及一种基于CUDA C的短波辐射模式加速方法。
背景技术
地球上的天气与气候情况是由太阳辐射量及其分布所决定的。辐射过程作为重要的大气物理过程之一,需要保证其模拟的气候变化准确率高,因此对辐射计算模型的精确性有很高的要求。RRTMG(rapid radiative transfer model for general circulationmodels)是一种计算长短波大气辐射通量和加热速率的辐射模式,该模式使用相关k方法来满足目前对辐射计算精确度的要求。复杂的气候数值模拟系统需要模拟多种物理过程,其辐射传输模块的计算量占比较大,无法满足地球系统模式大规模高效计算的需要。
通过分析RRTMG短波辐射模式RRTMG_SW的串行计算,可以发现RRTMG_SW的驱动子程序rrtmg_sw计算耗时最多,所以主要对rrtmg_sw进行基于GPU的加速计算。在rrtmg_sw中,各个子程序的计算时间不一,其中spcvmc_sw子程序耗时最长,占rrtmg_sw总计算时间的71.4%。
表1 RRTMG_SW各子程序计算时间(s)
为了提高RRTMG_SW的计算效率,可以在GPU上对其进行加速计算。具体,通过改写串行Fortran程序,基于CUDA C实现RRTMG_SW的加速计算。
发明内容
本发明的目的在于提供一种基于CUDA C的短波辐射模式加速方法,用以提高短波辐射模式RRTMG_SW的计算效率。
为实现上述目的,本发明的技术方案为:
步骤1.数据初始化。首先对四个子程序inatm_sw、cldprmc_sw、setcoef_sw和spcvmc_sw所需要的数据进行定义和初始化。由于水平维度上ncol值的不确定性,在定义CPU端数组时,采用定长数组来解决ncol值不确定的问题,例如,double play[nlay*ncol],其中nlay=51,ncol=1024*n(n为整数)。在GPU端,采用指针数组,例如,double*play_d,并通过cudaMalloc()对GPU端的数组进行内存分配,例如,cudaMalloc((void**)play_d,nlay*ncol*sizeof(double));
步骤2.数据传输。将CPU端数组通过cudaMemcpy()赋值给GPU端对应的数组,要求数组的大小和类型相同。例如,cudaMemcpy(play_d,play,nlay*ncol*sizeof(double),cudaMemcpyHostToDevice),其中,play_d为GPU端定义的数组,play为CPU端定义的数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国地质大学(北京),未经中国地质大学(北京)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110201042.1/2.html,转载请声明来源钻瓜专利网。