基于CUDA并行计算架构对折叠进行GPU并行化的方法

文档序号:34027640发布日期:2023-05-05 09:52阅读:64来源:国知局
基于CUDA并行计算架构对折叠进行GPU并行化的方法

本发明涉及医疗器械烘干装置,具体为基于cuda并行计算架构对折叠进行gpu并行化的方法。


背景技术:

1、presto是一套完整开源的脉冲星搜索工具,其中包含适于各个搜索流程的工具。折叠也是其中之一,是用于搜索周期信号的,对百万量级的候选体折叠生成相应的脉冲轮廓图,并基于这些脉冲轮廓图对候选体进行初筛,但随着射电望远镜设备的越发精密和技术手段的越发成熟,产生的观测数据量剧增,急需快速处理数据的问题,为此,我们提出一种实用性更高的基于cuda并行计算架构对折叠进行gpu并行化的方法。


技术实现思路

1、本发明的目的在于提供基于cuda并行计算架构对折叠进行gpu并行化的方法,解决了现有的问题。

2、为实现上述目的,本发明提供如下技术方案:基于cuda并行计算架构对折叠进行gpu并行化的方法,包括以下步骤:

3、步骤s1、基于gperftools做性能分析;

4、步骤s2、分析数据依赖性;

5、步骤s3、基于cuda的gpu并行。

6、优选的,所述步骤s1具体包括以下步骤:

7、s11、链接库,安装gperftools会附带库环境;

8、s12、运行需要做性能分析的代码,此时gperftools会对运行的代码进行性能分析,并输出结果;

9、s13对这个输出的结果做分析运算,得到其中各个函数在性能分析中所占的比例,生成可读的文本和图片结果。

10、优选的,所述步骤s2具体包括以下步骤:

11、s21、在并行时,有数据依赖关系的总会被分配到用一个计算资源上执行,并不会产生错误歧义;

12、s22、有循环依赖的是不同次的迭代,因此有可能会分配到不同的计算资源上,而此时因为缺少之前的迭代的结果,本次迭代中的计算会产生错误结果,从而依次影响后续的迭代,导致最终的计算错误。

13、优选的,所述步骤s3具体包括以下步骤:

14、串行的折叠中的的combine_prof函数是在四重循环里面调用的,在计算数据的时候,是在计算机上重复执行四重循环次数个combine_profs函数,而基于cuda的gpu并行,则是消除了数据循环依赖的基础上,可以把四重循环次数个gpu_conbine_profs函数发送到gpu的核上计算,同时可以在gpu的核上调用多个函数。

15、与现有技术相比,本发明的有益效果如下:

16、本发明基于cuda并行计算架构对折叠进行gpu并行化,在并行之前对折叠先进行优化,消除其中的数据循环依赖并且重构目标函数,重写cuda核函数在gpu上实现折叠并取得良好的效果。

17、本发明分析、消除数据的循环依赖性,在并行时,同时有很多个gpu核心在参与计算,如果存在数据的循环依赖性,即本次迭代的结果在下一次或多次迭代中使用,那么在做gpu并行时,分配到不同的gpu核心上计算,这种情况下会产生错误的计算结果,因此必须消除数据循环依赖性来保证在gpu上并行的准确性以及得到准确的计算结果;最后在有了以上的基础上,对原函数进行重构保留适合并行的部分,已达到更好的gpu并行效果,结合cuda把重构的函数重写为在gpu上运行的核函数。



技术特征:

1.基于cuda并行计算架构对折叠进行gpu并行化的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于cuda并行计算架构对折叠进行gpu并行化的方法,其特征在于,所述步骤s1具体包括以下步骤:

3.根据权利要求1所述的基于cuda并行计算架构对折叠进行gpu并行化的方法,其特征在于,所述步骤s2具体包括以下步骤:

4.根据权利要求1所述的基于cuda并行计算架构对折叠进行gpu并行化的方法,其特征在于,所述步骤s3具体包括以下步骤:


技术总结
本发明公开了基于CUDA并行计算架构对折叠进行GPU并行化的方法,包括以下步骤:步骤S1、基于gperftools做性能分析;步骤S2、分析数据依赖性;步骤S3、基于CUDA的GPU并行。本发明基于CUDA并行计算架构对折叠进行GPU并行化,在并行之前对折叠先进行优化,消除其中的数据循环依赖并且重构目标函数,重写CUDA核函数在GPU上实现折叠并取得良好的效果。

技术研发人员:吕健,谢晓尧,于徐红
受保护的技术使用者:贵州师范大学
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1