System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 通用GPU编译器性能优化的评估方法、装置、设备及介质制造方法及图纸_技高网

通用GPU编译器性能优化的评估方法、装置、设备及介质制造方法及图纸

技术编号:41786903 阅读:4 留言:0更新日期:2024-06-24 20:14
本公开提供的一种通用GPU编译器性能优化的评估方法、装置、设备及介质,其中该方法包括,设计涵盖多种类型程序的测试用例,基于自动化工具筛选出稳定的测试用例,对不同测试用例设置不同的权重,收集可靠的基准数据,编译器优化后,运行筛选的稳定测试用例,与基准数据对比,利用可视化工具展示性能数据的变化,并支持在调试模式下跟踪影响编译器性能的瓶颈。可见,本公开设计了一种全面而高效的通用GPU编译器性能优化评估方案,以解决硬件异构性、编译时间、并行化、内存访问优化、依赖分析、调试支持、代码生成优化、库的支持等方面的问题,确保对编译器优化的评估是准确、全面的且易于调试和使用。

【技术实现步骤摘要】

本公开实施例涉及数据处理领域,具体地涉及一种通用 gpu 编译器性能优化的评估方法、装置、设备及介质。


技术介绍

1、在异构计算平台中,通用gpu编译器优化的目的是通过对程序进行一系列优化转换,以减少程序的执行时间、内存占用、存储大小和功耗。这些优化转换是通过一系列算法逻辑实现的,这些算法可以将程序转换为语义等效的输出程序,使用更少的资源或更快地执行。

2、如何验证添加功能优化,或者是功能修改,编译器的性能结果是变好了,还是变差了?这就需要一个完善评估方案,来验证其编译器性能变化。然而,编译器优化后性能受多个因素的影响,例如硬件异构性、编译时间、并行化、内存访问优化、依赖分析、调试支持、代码生成优化、库的支持,因此如何确保对编译器优化性能的评估是准确、全面的且易于调试和使用,是亟待解决的问题。


技术实现思路

1、本专利技术的目的在于提供一种通用 gpu 编译器性能优化的评估方法、装置、设备及介质,以便于至少部分地解决上述问题。

2、根据本公开的一个方面,提出一种通用 gpu 编译器性能优化的评估方法,包括:

3、设计多样化测试用例,测试用例涵盖多种类型的程序,算法和库函数,引入acl计算库代码库,

4、筛选稳定测试用例,利用自动化工具多次执行测试用例,基于历史运行数据,使用统计方法评估测试用例的稳定性,自动筛选出相对稳定的测试用例,

5、设置权重,至少基于实际应用场景、重要性和硬件异构性,为不同类型的测试用例设置不同的权重

6、收集基准数据,在相同硬件配置和环境下收集基准数据,采用docker容器隔离环境,在编译器运行之前,对通用gpu进行预热,采用多次运行的平均值作为基准数据,并使用正态分布方法评估基准数据的可靠性,

7、编译器应用优化,在编译器应用优化之前,进行详细的代码分析,确保了解代码结构、依赖关系和潜在的优化点,逐步应用优化,监控每个步骤的性能变化,以了解每个优化点的效果,

8、编译器运行测试用例,在运行测试用例时,监控内存、温度指标,使用性能计数器工具,获取性能数据,至少包括指令执行数、缓存命中率,

9、对比编译器性能数据,利用可视化工具展示性能数据的变化,

10、在调试模式下,启用详细的日志记录和性能跟踪,定位性能问题,利用与调试模式配套的编译器性能分析工具,分析代码执行过程中的编译器性能瓶颈。

11、在一些实施例中,该方法还包括,所述设计多样化测试用例,还包括根据历史测试数据,挑选精简测试用例集合。

12、在一些实施例中,该方法还包括,所述统计方法包括,标准方差、均值或中位数。

13、根据本公开的另一个方面,提出一种通用 gpu 编译器性能优化的评估装置,包括:

14、设计模块,用于设计多样化测试用例,测试用例涵盖多种类型的程序,算法和库函数,引入acl计算库代码库,

15、筛选模块,用于筛选稳定测试用例,利用自动化工具多次执行测试用例,基于历史运行数据,使用统计方法评估测试用例的稳定性,自动筛选出相对稳定的测试用例,

16、权重设置模块,用于设置权重,至少基于实际应用场景、重要性和硬件异构性,为不同类型的测试用例设置不同的权重,

17、收集模块,用于收集基准数据,在相同硬件配置和环境下收集基准数据,采用docker容器隔离环境,在编译器运行之前,对通用gpu进行预热,采用多次运行的平均值作为基准数据,并使用正态分布方法评估基准数据的可靠性,

18、应用优化模块,用于编译器应用优化,在编译器应用优化之前,进行详细的代码分析,确保了解代码结构、依赖关系和潜在的优化点,逐步应用优化,监控每个步骤的性能变化,以了解每个优化点的效果,

19、运行模块,用于编译器运行测试用例,在运行测试用例时,监控内存、温度指标,使用性能计数器工具,获取性能数据,至少包括指令执行数、缓存命中率,

20、对比模块,用于对比编译器性能数据,利用可视化工具展示性能数据的变化,

21、调试模块,用于在调试模式下,启用详细的日志记录和性能跟踪,定位性能问题,利用与调试模式配套的编译器性能分析工具,分析代码执行过程中的编译器性能瓶颈。

22、在一些实施例中,该装置还包括,所述设计多样化测试用例,还包括根据历史测试数据,挑选精简测试用例集合。

23、在一些实施例中,该装置还包括,所述统计方法包括,标准方差、均值或中位数。

24、本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例方法中的步骤。

25、本申请实施例还提供一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如上任一实施例方法中的步骤。

26、本公开提供的一种通用 gpu 编译器性能优化的评估方法、装置、设备及介质,其中该方法包括,设计涵盖多种类型程序的测试用例,基于自动化工具筛选出稳定的测试用例,对不同测试用例设置不同的权重,收集可靠的基准数据,编译器优化后,运行筛选的稳定测试用例,与基准数据对比,利用可视化工具展示性能数据的变化,并支持在调试模式下跟踪影响编译器性能的瓶颈。可见,本公开设计了一种全面而高效的通用gpu编译器性能优化评估方案,以解决硬件异构性、编译时间、并行化、内存访问优化、依赖分析、调试支持、代码生成优化、库的支持等方面的问题,确保对编译器优化的评估是准确、全面的且易于调试和使用。

本文档来自技高网...

【技术保护点】

1.一种通用 GPU 编译器性能优化的评估方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于:

3.根据权利要求1所述的方法,其特征在于:

4.一种通用 GPU 编译器性能优化的评估装置,其特征在于,所述装置包括:

5.根据权利要求4所述的装置,其特征在于,所述装置还包括:

6.根据权利要求4-5任一项所述的装置,其特征在于,所述装置还包括:

7.一种电子设备,其特征在于:包括存储有可执行程序代码的存储器以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的可执行程序代码,执行如权利要求1-3任一项所述的方法。

8.一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如权利要求1-3任一项所述的方法。

【技术特征摘要】

1.一种通用 gpu 编译器性能优化的评估方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于:

3.根据权利要求1所述的方法,其特征在于:

4.一种通用 gpu 编译器性能优化的评估装置,其特征在于,所述装置包括:

5.根据权利要求4所述的装置,其特征在于,所述装置还包括:

6.根据权利要求4-5...

【专利技术属性】
技术研发人员:肖旭东廖坤董兆华罗洋
申请(专利权)人:沐曦科技成都有限公司
类型:发明
国别省市:

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

1