海啸数值计算模型基于GPU并行的快速执行方法技术

技术编号:18783972 阅读:207 留言:0更新日期:2018-08-29 07:01
本发明专利技术公开了一种海啸数值计算模型基于GPU并行的快速执行方法,方法包括:CPU接收海啸数值计算模型的启动指令后,获取与所述海啸数值计算模型相关的参数信息,并获取初始海表面形变信息;CPU读取到数据传输指令时,CPU将参数信息和初始海表面形变信息传输至GPU;GPU通过内核函数执行所述海啸数值计算模型的海啸传播计算过程,获取最终的计算结果;GPU读取到数据回传指令时,GPU将海啸计算结果传输至CPU;CPU根据输出指令,对计算结果进行格式化处理并输出。上述方法将计算量小的过程交由CPU执行,计算量大的过程通过内核函数实现在GPU端并行处理,进而可显著提高海啸数值计算模型的执行效率,提高了海啸快速预警能力。

【技术实现步骤摘要】
海啸数值计算模型基于GPU并行的快速执行方法
本专利技术属于海啸预警和灾害评估技术,尤其涉及一种海啸数值计算模型基于GPU并行的快速执行方法。
技术介绍
海啸数值计算模型是实时海啸预警和海啸研究的有效手段之一,二维浅水动力学方程是模型通常的数学物理基础。海啸数值计算模型的运行需要硬件支持,如工作站、小型工作站或者大型计算机,运行方式包括串行和并行两种。通常,并行方式的计算效率更高,基于CPU的并行技术包括OpenMP(OpenMulti-Processing)和MPI(MessagePassingInterface)。OpenMP利用单计算节点内含CPU的多核心和共享内存并行提速,可扩展性差,MPI采用多计算节点和分布式内存,可扩展性好。计算节点指的是大型计算机上由1-2颗CPU组成用于指定任务处理的硬件集成环境,一旦执行某项作业,其他作业便无法介入,作业执行阶段具有独占性。利用OpenMP技术实现单计算节点多计算核心的并行加速的具体方案是在海啸数值计算模型循环代码中加入OpenMP引导语句,通过切割将计算范围分成若干子区域,每个子区域负责执行与其他子区域间无依赖关系的计算代码。每次本文档来自技高网...

【技术保护点】
1.一种海啸数值计算模型基于GPU并行的快速执行方法,其特征在于,包括:CPU接收海啸数值计算模型的启动指令后,获取与所述海啸数值计算模型相关的参数信息,并获取初始海表面形变信息;所述CPU读取到数据传输指令时,所述CPU将所述参数信息、初始海表面形变信息传输至GPU;所述GPU接收所述参数信息、初始海表面形变信息后,执行所述海啸数值计算模型的海啸传播计算过程,获取海啸的计算结果;所述GPU读取到数据回传指令时,所述GPU将所述海啸的计算结果传输至所述CPU;所述CPU根据输出指令,将所述海啸的计算结果进行格式化处理并输出。

【技术特征摘要】
1.一种海啸数值计算模型基于GPU并行的快速执行方法,其特征在于,包括:CPU接收海啸数值计算模型的启动指令后,获取与所述海啸数值计算模型相关的参数信息,并获取初始海表面形变信息;所述CPU读取到数据传输指令时,所述CPU将所述参数信息、初始海表面形变信息传输至GPU;所述GPU接收所述参数信息、初始海表面形变信息后,执行所述海啸数值计算模型的海啸传播计算过程,获取海啸的计算结果;所述GPU读取到数据回传指令时,所述GPU将所述海啸的计算结果传输至所述CPU;所述CPU根据输出指令,将所述海啸的计算结果进行格式化处理并输出。2.根据权利要求1所述的方法,其特征在于,所述GPU接收所述参数信息、初始海表面形变信息后,执行所述海啸数值计算模型的海啸传播计算过程,获取海啸的计算结果的步骤,包括:所述CPU在确定需要获取至少一个时间节点的海啸计算结果时,所述CPU向所述GPU发送至少一个时间节点的海啸中间计算结果获取指令;所述GPU根据所述至少一个时间节点的海啸中间计算结果获取指令,将计算过程中符合所述时间节点的海啸中间计算结果传输至所述CPU。3.根据权利要求2所述的方法,其特征在于,还包括:所述CPU将所有的...

【专利技术属性】
技术研发人员:王宗辰原野于福江
申请(专利权)人:国家海洋环境预报中心
类型:发明
国别省市:北京,11

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

1