System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于GPU的矩阵数据处理系统技术方案_技高网

一种用于GPU的矩阵数据处理系统技术方案

技术编号:40562897 阅读:9 留言:0更新日期:2024-03-05 19:26
本申请涉及数据处理技术领域,特别是涉及一种用于GPU的矩阵数据处理系统,系统包括:GPU、数据库、处理器和存储有计算机程序的存储器,计算机程序被处理器执行时,实现以下步骤:计算得到矩阵A中各元素值与矩阵B中各元素值的元素值乘积结果,进而结合矩阵C确定参考阶数,根据参考阶数,对元素值乘积结果和矩阵C中元素的尾数进行移位后相加,得到尾数相加结果,进而确定乘积元素,根据所有乘积元素,形成矩阵乘积结果。可知,通过限制加法器的位宽,对移位处理后的元素值乘积结果的尾数部分进行适应性舍弃,结合数据精度对模型准确率影响较小的先验信息,在相对低硬件面积的条件下,仍然能够保证人工智能模型的推理或者训练效果较好。

【技术实现步骤摘要】

本专利技术涉及数据处理,特别是涉及一种用于gpu的矩阵数据处理系统。


技术介绍

1、目前,图形处理器gpu由于其较高的计算效率,常被应用于人工智能方向的模型训练及推理场景下,而人工智能模型中的数据通常是矩阵或者张量形式,而在不涉及通道间数据交互的情况下,张量形式的数据也可以视作多个矩阵数据,因此,矩阵数据的计算直接影响着人工智能模型的推理或者训练效果。

2、因此,现有技术提出了在gpu硬件层面部署矩阵计算核心,以提高矩阵相乘运算的效率,从而提高矩阵计算效率的方式,对于矩阵运算而言,相乘结果中的单个元素的获取方式为一矩阵中对应行向量和另一矩阵中对应列向量相乘,其本质上相当于多组元素相乘再相加,现有技术所提出的矩阵计算核心,通常采用融合乘加的方式进行计算,也即,第一组元素相乘后与偏置相加得到第一临时结果,第二组元素相乘后与第一临时结果相加,得到第二临时结果,以此类推,最终得到矩阵相乘计算结果,以得到能够满足ieee754标准的计算结果。

3、然而,以上述计算方式所部署的矩阵计算核心将会使用较大的硬件面积,并且,逐次串行乘加计算难以提高运算效率。现有方法还提出另一种计算方式,也即,先将所有的元素相乘结果计算出来,再一次性把所有元素相乘结果和偏置相加,得到矩阵相乘计算结果,该计算方式由于需要进行舍入操作的次数较少,因此计算结果的精度更高,但是,也会导致加法器的位宽较大,同样会导致需要较大的硬件面积,难以在低硬件面积的条件下,保证人工智能模型的推理或者训练效果。

4、因此,如何在相对低硬件面积的条件下,保证人工智能模型的推理或者训练效果成为了亟待解决的问题。


技术实现思路

1、针对上述技术问题,本专利技术采用的技术方案为:

2、一种用于gpu的矩阵数据处理系统,所述系统包括:gpu、数据库、处理器和存储有计算机程序的存储器,其中,所述数据库中包括待进行矩阵乘积计算的矩阵a、矩阵b和矩阵c,所述矩阵a的尺寸为mk,所述矩阵b的尺寸为kn,所述矩阵c的尺寸为mn,所述gpu包括加法器和乘法器,当所述计算机程序被处理器执行时,实现以下步骤:

3、s101,根据矩阵a和矩阵b,通过所述乘法器计算得到矩阵a中第m行第k列元素值与矩阵b中第n列第k行元素值的元素值乘积结果dmnk,其中,m为[1,m]范围内的整数,n为[1,n]范围内的整数,k为[1,k]范围内的整数,所述元素值乘积结果dmnk的浮点数表示包括阶数emnk和尾数fxmnk。

4、s102,根据所有元素值乘积结果以及ecmn,确定参考阶数emax=max(emnk,ecmn),其中,ecmn为矩阵c中第m行第n列的元素对应的阶数。

5、s103,根据emnk、ecmn和emax,对emnk所对应的尾数fxmnk以及ecmn所对应的尾数fcmn进行移位处理,得到fxmnk对应的移位后的尾数fymnk和fcmn对应的移位后的尾数fzmn。

6、s104,针对任一组m和n,使用所述加法器对fzmn和所有fymnk进行相加处理,得到尾数相加结果fumn,其中,所述加法器的位宽设置为p。

7、s105,根据emax和fumn,确定乘积元素hmn。

8、s106,根据所有hmn,形成ab+c对应的矩阵乘积结果h。

9、本专利技术与现有技术相比具有明显的有益效果,借由上述技术方案,本专利技术提供的一种用于gpu的矩阵数据处理系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:

10、本专利技术提供了一种用于gpu的矩阵数据处理系统,所述系统包括:gpu、数据库、处理器和存储有计算机程序的存储器,其中,所述数据库中包括待进行矩阵乘积计算的矩阵a、矩阵b和矩阵c,所述矩阵a的尺寸为mk,所述矩阵b的尺寸为kn,所述矩阵c的尺寸为mn,所述gpu包括加法器和乘法器,当所述计算机程序被处理器执行时,实现以下步骤:根据矩阵a和矩阵b,通过所述乘法器计算得到矩阵a中第m行第k列元素值与矩阵b中第n列第k行元素值的元素值乘积结果dmnk,所述元素值乘积结果dmnk的浮点数表示包括阶数emnk和尾数fxmnk,根据所有元素值乘积结果以及矩阵c中第m行第n列的元素对应的阶数ecmn,确定参考阶数emax=max(emnk,ecmn),根据emnk、ecmn和emax,对emnk所对应的尾数fxmnk以及ecmn所对应的尾数fcmn进行移位处理,得到fxmnk对应的移位后的尾数fymnk和fcmn对应的移位后的尾数fzmn,针对任一组m和n,使用所述加法器对fzmn和所有fymnk进行相加处理,得到尾数相加结果fumn,其中,所述加法器的位宽设置为p,根据emax和fumn,确定乘积元素hmn,根据所有hmn,形成ab+c对应的矩阵乘积结果h。

11、可知,在采用一次性将元素值乘积结果相加方式的基础上,将加法器位宽限制为p,从而对移位处理后的元素值乘积结果的尾数部分进行适应性舍弃,能够结合模型数据精度对模型训练或者推理的准确率影响较小的先验信息,在相对低硬件面积的条件下,仍然能够保证人工智能模型的推理或者训练效果较好。

本文档来自技高网...

【技术保护点】

1.一种用于GPU的矩阵数据处理系统,其特征在于,所述系统包括:GPU、数据库、处理器和存储有计算机程序的存储器,其中,所述数据库中包括待进行矩阵乘积计算的矩阵A、矩阵B和矩阵C,所述矩阵A的尺寸为MK,所述矩阵B的尺寸为KN,所述矩阵C的尺寸为MN,所述GPU包括加法器和乘法器,当所述计算机程序被处理器执行时,实现以下步骤:

2.根据权利要求1所述的用于GPU的矩阵数据处理系统,其特征在于,S104步骤还包括以下步骤:

3.根据权利要求1所述的用于GPU的矩阵数据处理系统,其特征在于,p为[q1,q2]范围内的整数,其中,q1=max[λ,r1],q2=r2,λ为预设的标准尾数位宽,r1为第一预设参考值,r2为第二预设参考值。

4.根据权利要求3所述的用于GPU的矩阵数据处理系统,其特征在于,r1和r2根据映射表确定,所述映射表包括加法器位宽与参考精度之间的映射关系。

5.根据权利要求4所述的用于GPU的矩阵数据处理系统,其特征在于,所述映射表的获取方式为:

6.根据权利要求5所述的用于GPU的矩阵数据处理系统,其特征在于,r1和r2根据映射表确定的过程包括:

7.根据权利要求6所述的用于GPU的矩阵数据处理系统,其特征在于,所述第一预设条件为大于μ1,其中,μ1=(∑Vv=1αv)/V。

8.根据权利要求6所述的用于GPU的矩阵数据处理系统,其特征在于,所述第二预设条件为大于μ2,其中,μ2=(∑Vv=1βv)/V。

9.根据权利要求3所述的用于GPU的矩阵数据处理系统,其特征在于,q1设置为22bits,q2设置为30bits。

10.根据权利要求9所述的用于GPU的矩阵数据处理系统,其特征在于,p设置为24bits。

...

【技术特征摘要】

1.一种用于gpu的矩阵数据处理系统,其特征在于,所述系统包括:gpu、数据库、处理器和存储有计算机程序的存储器,其中,所述数据库中包括待进行矩阵乘积计算的矩阵a、矩阵b和矩阵c,所述矩阵a的尺寸为mk,所述矩阵b的尺寸为kn,所述矩阵c的尺寸为mn,所述gpu包括加法器和乘法器,当所述计算机程序被处理器执行时,实现以下步骤:

2.根据权利要求1所述的用于gpu的矩阵数据处理系统,其特征在于,s104步骤还包括以下步骤:

3.根据权利要求1所述的用于gpu的矩阵数据处理系统,其特征在于,p为[q1,q2]范围内的整数,其中,q1=max[λ,r1],q2=r2,λ为预设的标准尾数位宽,r1为第一预设参考值,r2为第二预设参考值。

4.根据权利要求3所述的用于gpu的矩阵数据处理系统,其特征在于,r1和r2根据映射表确定,所述映射表包...

【专利技术属性】
技术研发人员:张金
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1