[发明专利]射线水声传播模型的多核并行方法在审
申请号: | 202110983364.6 | 申请日: | 2021-08-25 |
公开(公告)号: | CN113672235A | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 蓝强;马树青;颜冰;肖汶斌;刘巍;程兴华;王勇献;王文珂;张理论 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京天盾知识产权代理有限公司 11421 | 代理人: | 周敏云 |
地址: | 410005 湖南省长沙市*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 射线 传播 模型 多核 并行 方法 | ||
1.一种射线水声传播模型的多核并行方法,其特征在于,包括如下步骤:
步骤1,采用性能分析工具对射线水声模型串行代码进行分析,寻找射线水声模型串行计算中的热点函数,根据热点函数占总执行时间比例,利用并行理论,对并行加速比进行评估分析;
步骤2,对射线模型热点函数开展并行性分析,面向多核CPU计算架构,设计多核粗粒度并行策略;
步骤3,针对射线水声模型热点函数,采用OpenMP并行编程模型实现射线水声模型的多核并行。
2.根据权利要求1所述射线水声传播模型的多核并行方法,其特征在于,所述步骤1具体包括:
1A、选择开源的性能分析工具gprof,对射线水声模型串行代码进行编译,设置-pg的编译选项,选取某个水声场计算算例,运行射线水声模型,通过gprof搜集性能数据;
1B、根据gprof性能分析工具分析结果,统计各个函数的执行时间信息,聚焦热点函数,所述热点函数是指执行时间占主要的函数;
1C、假设射线水声传播模型串行执行的总时间为T,热点函数执行时间为B,则非热点函数执行时间为T-B,假设使用N个CPU对热点函数部分进行并行,则可预估射线水声传播模型的理想加速比:
3.根据权利要求1所述射线水声传播模型的多核并行方法,其特征在于,所述步骤2具体包括:
2A.根据上一步骤并行性分析,结合采用多核并行方法,设计粗粒度多核并行策略,包括将并行应用在射线的循环层,每个线程负责相同数量射线的处理,不同线程之间并行执行,线程内的射线串行地被处理。
4.根据权利要求1所述射线水声传播模型的多核并行方法,其特征在于,步骤3具体步骤包括:
3A.分析并行区域中使用的变量的属性,确定各变量是私有属性还是共享属性,在编译指导语句中注明共享变量以及私有变量;
3B.对于声场的计算,将申请一个共享数组用于保存最终的声场结果,以及为每一个线程申请一个数组用于保存各线程计算的声场结果,当所有线程完成声场计算后,通过主线程将所有线程计算的结果归约到共享数组中。
5.根据权利要求4所述射线水声传播模型的多核并行方法,其特征在于,步骤3A中,对于变量属性的定义基于如下步骤:
1)、对于在射线传播模型的串行实现中的全局共享变量或者数组,若其对在并行执行模式下会对结果产生错误影响,则将其申明为私有变量或数组;
2)、射线模型中的Beam数据结构的Nstep成员变量,需要将其由全局共享变量申明为私有变量;
3)、用于存储射线轨迹中每个点信息的数据结构ray2DPt作为局部的私有变量核数组来处理;
4)、用于保存一条射线内所有的点信息的数组ray2D作为局部的私有变量核数组来处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110983364.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无源式机械旋拧装置
- 下一篇:一种金属铌表面加工重构方法及重构装置