首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于CUDA的水下声场模型Bellhop并行优化方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:哈尔滨工程大学

摘要:本发明是一种基于CUDA的水下声场模型Bellhop并行优化方法,属于计算海洋声学技术领域。本发明方法识别出Bellhop的二维和三维计算中计算时间占比最高的热点函数BellhopCore,开发单精度版本的Bellhop模型,调整热点函数的算法步骤;设计一个基于CUDA的核函数,在声线层面上将热点函数的计算任务映射到GPU的多个线程上执行;CPU将总的计算任务平均分配到多个GPU上并行执行,每个GPU将子任务分配给多个CUDA流执行;所有线程计算完毕后,同步GPU的计算结果到CPU,生成水下声场模型。本发明减少了数据的存取和管理开销,提高了Bellhop模型模拟海洋真实环境下的水声传播的效率。

主权项:1.一种基于CUDA的水下声场模型Bellhop并行优化方法,其特征在于,该方法包含如下步骤:步骤1,通过性能分析工具对Bellhop模型进行性能分析,识别出Bellhop模型在模拟二维水声传播和三维水声传播的计算中计算时间占比最高的热点函数,热点函数为BellhopCore函数,同时,设置一个编译选项BHC_USE_FLOATS,如果设置BHC_USE_FLOATS为ON则设置Bellhop算法使用的是单精度的数据格式,否则为双精度数据格式;步骤2,调整热点函数BellhopCore的算法步骤,将原算法中完成整条射线的追踪后保存射线信息、再计算该射线对声压场的贡献的流程,调整为在迭代更新射线位置的同时计算该射线对声压场的贡献;步骤3,设计一个基于CUDA的核函数,在声线层面上将函数BellhopCore中射线追踪和声压场的计算任务映射到GPU的多个线程上执行;CUDA核函数采用一维的线程块,使用符合Bellhop模型射线排布规律的CUDA网格模式,将线程与射线进行映射;其中,在模型Bellhop的二维计算中,将射线依次通过仰角和声源深度两个维度展开;在模型Bellhop的三维计算中,将射线依次通过仰角、方位角、水平的x轴方向、水平的y轴方向、深度的z轴方向依次展开;步骤4,设置使用结构数组储存模型Bellhop计算的每条射线结果数据;步骤5,将模型Bellhop的二维计算和三维计算中所需的不变环境数据存放在GPU的常量存储中;将CUDA核函数计算过程中的中间变量在显存中初始化,并在计算完成后释放;步骤6,将函数BellhopCore中调用的子程序定义为设备端的内联函数;步骤7,定义M个CUDA流,M大于1;步骤8,CPU在接收到水声传播建模任务后,通过MPI将总的射线追踪和声压场的计算任务平均分配到K个GPU上并行执行,K大于1;在每个GPU上再将所分配的子任务分配给M个CUDA流并行执行;在每个CUDA上执行所述的核函数,GPU上多个线程并行执行对射线追踪和声压场的计算;在所有线程执行完毕,同步GPU的计算结果到CPU,生成水下声场模型;其中,CUDA表示通用并行计算架构,GPU表示图形处理单元,MPI表示消息传递接口。

全文数据:

权利要求:

百度查询: 哈尔滨工程大学 一种基于CUDA的水下声场模型Bellhop并行优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。