【技术实现步骤摘要】
一种面向GPU的大规模并行程序性能评估及优化方法
[0001]本专利技术公开了一种面向
GPU
的大规模并行程序性能评估及优化方法,涉及计算语言的应用程序优化
。
技术介绍
[0002]随着数字经济的快速发展,人工智能作为“新基建”中的信息基础设施和融合基础设施一部分,在智慧城市的数字化治理中大放异彩
。
随着深度学习等技术的发展,行业对于计算机的计算能力要求越来越高
。
因此,面向异构系统的大规模
、
高并发语言已经成为人工智能应用开发时使用的基础计算语言
。
为了提高基于并行计算语言的应用程序性能,需要对应用程序进行人工优化
。
现有的优化手段主要分为:提高程序并行计算能力
、
使用近端存储加速访存速度和降低程序所需的计算次数
。
但是,这些优化手段都需要工程师进行手动改进代码,需要等待代码修改完毕并编译测试之后,才能知道优化手段是否有效果,则会引入极大的滞后性,增加人力成本和时间成本
。
[0003]在对应用程序进行优化的过程中,需要对改进后的代码进行性能评价,因此需要一个具备高鲁棒性的性能评价模型对优化结果进行预测
。
[0004]传统的基于高并行计算语言的人工智能应用程序评估方法如图1所示,该方法不可避免的会出现以下问题:当芯片架构发生变化时,无法评估现有的应用程序性能在新的芯片架构中的性能
。
例如,当
ch ...
【技术保护点】
【技术特征摘要】
1.
一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述方法基于的系统架构包括:数据收集模块
、
基于并行计算语言的应用程序计数模块
、
基于并行计算语言的应用程序性能评估模块以及基于并行计算语言的应用程序自优化模块,其中,所述数据收集模块用于收集基于并行计算语言的应用程序数据,形成基于并行计算语言的应用程序数据集;所述基于并行计算语言的程序计数模块能够对程序中的关键信息点进行提取;所述基于并行计算语言的应用程序性能评估模块包括性能数据推理部分和性能评估模块训练部分,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理,性能评估模块训练部分进行模型训练;所述基于并行计算语言的应用程序优化模块采用
actor
‑
critic
策略对应用程序进行优化
。2.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述程序中的关键信息点包括:应用的总线程数
、
每个工作组的线程数
、
需要从主机内存搬运至全局显存的数据数目
、
需要从全局显存搬运至主机内存中的数据数目
、
全局显存的访存数据数目
、SRAM
的访存数据数目
、
局部片上存储区域的访存数目
、
常量存储区域的访存数目
、
各级存储区域的访存模式
、
程序中总的分支次数以及应用程序所需的总的数学计算操作数目
。3.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述芯片硬件数据包括:
CHIPLET
数目
、PCIE
传输带宽
、
显存带宽
、SRAM
带宽
、
局部片上存储区域带宽
、
常量存储区域带宽和芯片算力
。4.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理后,利用以下公式进行数据归一化处理:其中,
u
为数据集中每个维度数据的均值,
v
为每个维度数据的标准差;进而,将经向量化的数据输入至全连接神经网络中,通过全连接神经网络计算得到回归值,该回归值表示基于高并行计算语言的应用程序的性能值,所述性能值通过以下公式转化为应用程序运行一次所需的时间值:
t
=
x
×
β
+
α
;其中
,
β
为数据集中标签值的标准差,
α
为数据集中标签值的均值
。5.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述性能评估模块训练部分的训练过程为:准备基于高并行计算语言...
【专利技术属性】
技术研发人员:李睿,陈渊深,莫轩,李力游,小约翰,
申请(专利权)人:南京蓝洋智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。