【技术实现步骤摘要】
一种基于GEMM的深度神经网络加速方法和系统
[0001]本专利技术涉及于GEMM运算加速领域,具体涉及一种基于GEMM的深度神经网络加速方法和系统。
技术介绍
[0002]GEMM(General Matrix Multiplication)通用矩阵乘法是一种应用广泛的线性代数运算,其计算形式为:CαAB+βC,其中A、B、C为矩阵,α、β为标量。GEMM作为高性能计算的基础模块,其应用范围极为广泛,包括统计学、科学计算等传统领域以及深度学习、大数据分析等新兴领域。
[0003]不同领域和应用涉及到的GEMM运算的大小和形状通常是不同的,如在科学计算、大数据分析等领域中,需要处理的通常是大尺寸矩阵,而在深度神经网络应用中,出现的通常是中小型矩阵乘法。
[0004]cuBlas和rocBlas是目前常用的线性代数计算库,是目前大多数涉及矩阵运算应用的核心库。在实际应用中,cuBlas和rocBlas的GEMM运算表现受输入矩阵的大小和形状影响,在以往的实践中,二者在大规模规则矩阵乘法上的表现优异,而在中小矩阵 ...
【技术保护点】
【技术特征摘要】
1.一种基于GEMM的深度神经网络加速方法,其特征在于,包括以下步骤:S1、判断输入的矩阵乘法为规则矩阵乘法或为不规则矩阵乘法;S2、若为规则矩阵乘法,则遍历预制定的规则矩阵乘法分片策略,以Kernel Occupancy为依据选择最佳分片策略;若为不规则矩阵乘法,则根据矩阵维度和预制定的不规则矩阵乘法分片策略生成分片策略并遍历生成的分片策略,以Kernel Occupancy为依据选择最佳分片策略;S3、根据所选的最佳分片策略对矩阵进行分片,对所有矩阵片进行计算得到运算结果。2.根据权利要求1所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述步骤S1具体包括:计算输入的矩阵乘法的行列数的比值k,若0.5<k<2则为规则矩阵乘法,否则为不规则矩阵乘法;比值k的计算公式:其中,N
row
为矩阵行数,N
col
为矩阵列数。3.根据权利要求1所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述的预制定的规则矩阵乘法分片策略、预制定的不规则矩阵乘法分片策略均是根据GPU架构和相关参数制定,所述GPU的相关参数包括单个block包含的最大work item数、CU中最大LDS容量、SIMD中VGPR数目。4.根据权利要求1所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述步骤S2具体包括:针对规则矩阵乘法,遍历预制定的规则矩阵乘法分片策略,计算Kernel Occupancy,选择最大Kernel Occupancy对应的分片策略;针对不规则矩阵乘法,根据矩阵维度和预制定的不规则矩阵乘法分片策略生成分片策略,遍历生成的分片策略、计算Kernel Occupancy,选择最大Kernel Occupancy对应的分片策略。5.根据权利要求4所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述根据矩阵维度和预制定的不规则矩阵乘法分片策略生成分片策略的方法包括:定义矩阵小维度的分片尺寸为2
n
,n为正整数,当T
min
≤L时,2
n
需满足:T
min
≤2
n
≤L其中,T
min
为预制定的规则矩阵乘法分片策略的最小分片尺寸,L为矩阵小维度的大小;当T
min
>L时,2
n
需满足:0≤2
n
≤L其中,L为矩阵小维度的大小;对于符合以上任一条件的矩阵小维度的分片尺寸2
n
,在预制定的不规则矩阵乘法分片策略中选择分片尺寸大于2
n
的条目与2
n
组成新的分片策略。6.根据权利要求1或4所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述Kernel Occupancy的计算公式为:其中,O为Kernel Occupancy值,WF
block
WF
LDS
,WF
VGPR
分别表示由block数目及大小、LDS和VGPR使用情况计算得到最大活跃wavefront数目,WF
max
为单个CU中最大的并行wavefront
数,在AMDGCN5和CDNA架构中,WF
max
=40。7.根据权利要求6所述的一种基于GEMM的深度神经网络加速方法,其特征在于,所述Kernel Occupa...
【专利技术属性】
技术研发人员:舒惠瑶,冼允廷,陆璐,
申请(专利权)人:中山市华南理工大学现代产业技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。