一种面向制造技术

技术编号:39569861 阅读:10 留言:0更新日期:2023-12-03 19:20
本发明专利技术公开了一种面向

【技术实现步骤摘要】
一种面向GPU的大规模并行程序性能评估及优化方法


[0001]本专利技术公开了一种面向
GPU
的大规模并行程序性能评估及优化方法,涉及计算语言的应用程序优化



技术介绍

[0002]随着数字经济的快速发展,人工智能作为“新基建”中的信息基础设施和融合基础设施一部分,在智慧城市的数字化治理中大放异彩

随着深度学习等技术的发展,行业对于计算机的计算能力要求越来越高

因此,面向异构系统的大规模

高并发语言已经成为人工智能应用开发时使用的基础计算语言

为了提高基于并行计算语言的应用程序性能,需要对应用程序进行人工优化

现有的优化手段主要分为:提高程序并行计算能力

使用近端存储加速访存速度和降低程序所需的计算次数

但是,这些优化手段都需要工程师进行手动改进代码,需要等待代码修改完毕并编译测试之后,才能知道优化手段是否有效果,则会引入极大的滞后性,增加人力成本和时间成本

[0003]在对应用程序进行优化的过程中,需要对改进后的代码进行性能评价,因此需要一个具备高鲁棒性的性能评价模型对优化结果进行预测

[0004]传统的基于高并行计算语言的人工智能应用程序评估方法如图1所示,该方法不可避免的会出现以下问题:当芯片架构发生变化时,无法评估现有的应用程序性能在新的芯片架构中的性能

例如,当
chiplet
数目,
DDR
带宽
、SRAM
带宽等芯片硬件数据发生变化时,现有的应用程序性能将无法准备评估

[0005]深度强化学习技术,将强化学习分成三大类
(value

based
算法
、policy

based
算法及结合两者的
AC
算法
)
来进行介绍

深度强化学习结合了深度学习
(Deep Learning

DL)
的特征提取能力和强化学习
(Reinforcement Learning

RL)
的决策能力,可以直接根据输入的多维数据做出最优决策输出,是一种端对端
(end

to

end)
的决策控制系统,广泛应用于动态决策

实时预测

仿真模拟

游戏博弈等领域,其通过与环境不断地进行实时交互,将环境信息作为输入来获取失败或成功的经验来更新决策网络的参数,从而学习到最优决策

智能体与环境进行交互,智能体通过深度学习对环境状态进行特征提取,将结果传递给强化学习进行决策并执行动作,执行完动作后得到环境反馈的新状态和奖惩进而更新决策算法

此过程反复迭代,最终使智能体学到获得最大长期奖惩值的策略


技术实现思路

[0006]本专利技术所要解决的技术问题是:针对现有技术的缺陷,提供一种面向
GPU
的大规模并行程序性能评估及优化方法,借鉴强化学习思想,将基于大规模并行计算语言的应用程序优化过程划分为
actor

critic。
即将程序优化改进这一过程视作
actor
,将评估程序经过优化之后的性能这一过程视为
critic。
从而,可以使用基于
actor

critic
策略的学习算法对程序优化过程进行建模,通过持续不断的学习使得
GPU
获得对程序进行自动优化的能力

最终,提高程序优化效率,摒弃人工优化的人力成本和时间成本

[0007]本专利技术为解决上述技术问题采用以下技术方案:
[0008]一种面向
GPU
的大规模并行程序性能评估及优化方法,所述方法基于的系统架构包括:数据收集模块

基于并行计算语言的应用程序计数模块

基于并行计算语言的应用程序性能评估模块以及基于并行计算语言的应用程序自优化模块,其中,所述数据收集模块用于收集基于并行计算语言的应用程序数据,形成基于并行计算语言的应用程序数据集;所述基于并行计算语言的程序计数模块能够对程序中的关键信息点进行提取;所述基于并行计算语言的应用程序性能评估模块包括性能数据推理部分和性能评估模块训练部分,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理,性能评估模块训练部分进行模型训练;所述基于并行计算语言的应用程序优化模块采用
actor

critic
策略对应用程序进行优化

[0009]作为本专利技术的进一步优选方案,所述程序中的关键信息点包括:应用的总线程数

每个工作组的线程数

需要从主机内存搬运至全局显存的数据数目

需要从全局显存搬运至主机内存中的数据数目

全局显存的访存数据数目
、SRAM
的访存数据数目

局部片上存储区域的访存数目

常量存储区域的访存数目

各级存储区域的访存模式

程序中总的分支次数以及应用程序所需的总的数学计算操作数目

所述芯片硬件数据包括:
CHIPLET
数目
、PCIE
传输带宽

显存带宽
、SRAM
带宽

局部片上存储区域带宽

常量存储区域带宽和芯片算力

[0010]作为本专利技术的进一步优选方案,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理后,利用以下公式进行数据归一化处理:
[0011][0012]其中,
u
为数据集中每个维度数据的均值,
v
为每个维度数据的标准差;
[0013]进而,将经向量化的数据输入至全连接神经网络中,通过全连接神经网络计算得到回归值,该回归值表示基于高并行计算语言的应用程序的性能值,所述性能值通过以下公式转化为应用程序运行一次所需的时间值:
[0014]t

x
×
β
+
α

[0015]其中
,
β
为数据集中标签值的标准差,
α
为数据集中标签值的均值

[0016]作为本专利技术的进一步优选方案,所述性能评估模块训练部分的训练过程为:
[0017]准本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述方法基于的系统架构包括:数据收集模块

基于并行计算语言的应用程序计数模块

基于并行计算语言的应用程序性能评估模块以及基于并行计算语言的应用程序自优化模块,其中,所述数据收集模块用于收集基于并行计算语言的应用程序数据,形成基于并行计算语言的应用程序数据集;所述基于并行计算语言的程序计数模块能够对程序中的关键信息点进行提取;所述基于并行计算语言的应用程序性能评估模块包括性能数据推理部分和性能评估模块训练部分,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理,性能评估模块训练部分进行模型训练;所述基于并行计算语言的应用程序优化模块采用
actor

critic
策略对应用程序进行优化
。2.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述程序中的关键信息点包括:应用的总线程数

每个工作组的线程数

需要从主机内存搬运至全局显存的数据数目

需要从全局显存搬运至主机内存中的数据数目

全局显存的访存数据数目
、SRAM
的访存数据数目

局部片上存储区域的访存数目

常量存储区域的访存数目

各级存储区域的访存模式

程序中总的分支次数以及应用程序所需的总的数学计算操作数目
。3.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述芯片硬件数据包括:
CHIPLET
数目
、PCIE
传输带宽

显存带宽
、SRAM
带宽

局部片上存储区域带宽

常量存储区域带宽和芯片算力
。4.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述性能数据推理部分对程序计数模块中涉及的数据与芯片硬件数据进行向量化处理后,利用以下公式进行数据归一化处理:其中,
u
为数据集中每个维度数据的均值,
v
为每个维度数据的标准差;进而,将经向量化的数据输入至全连接神经网络中,通过全连接神经网络计算得到回归值,该回归值表示基于高并行计算语言的应用程序的性能值,所述性能值通过以下公式转化为应用程序运行一次所需的时间值:
t

x
×
β
+
α
;其中
,
β
为数据集中标签值的标准差,
α
为数据集中标签值的均值
。5.
如权利要求1所述的一种面向
GPU
的大规模并行程序性能评估及优化方法,其特征在于,所述性能评估模块训练部分的训练过程为:准备基于高并行计算语言...

【专利技术属性】
技术研发人员:李睿陈渊深莫轩李力游小约翰
申请(专利权)人:南京蓝洋智能科技有限公司
类型:发明
国别省市:

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

1