1.一种面向向量处理器的半精度稀疏矩阵乘法多核并行的方法,其特征在于,稀疏矩阵乘法为按稀疏格式压缩后的权值矩阵与稠密输入矩阵进行乘法计算,得到稠密输出矩阵的过程,所述方法包括:根据矩阵维度和计算核的个数,构建多个多核并行模式;所述矩阵维度为矩阵中的行数和列数,其中,所述权值矩阵的矩阵维度为[M][K],所述稠密输入矩阵的矩阵维度为[K][N],所述稠密输出矩阵的矩阵维度为[M][N];所述多核并行模式包括第一模式、第二模式和第三模式;所述第一模式为各所述计算核在所述权值矩阵的M维上并行;所述第二模式为各所述计算核在所述稠密输入矩阵的N维上并行;所述第三模式为各所述计算核在所述M维和所述N维上同时并行;基于M和N的数值,获取在每个所述多核并行模式下进行稀疏矩阵乘法计算的理论计算效率;选择理论计算效率最大的多核并行模式进行稀疏矩阵乘法计算;所述多核并行模式为所述第一模式时,所述计算核为8个,所述根据矩阵维度和计算核的个数,构建多个多核并行模式,包括:将各所述计算核在所述权值矩阵上平均分配,构建所述第一模式;其中,每个所述计算核对应的所述权值矩阵的行数为八分之一M的向上取整,每个所述计算核对应的所述权值矩阵的列数为K;所述获取在每个所述多核并行模式下进行稀疏矩阵乘法计算的理论计算效率,包括:获取所述矩阵维度在所述第一模式下的理论计算效率如下式: ;式中,M_ratio为所述第一模式的理论计算效率,m b 为预设的所述M维的分块大小,n b 为预设的所述N维的分块大小。
2.根据权利要求1所述的方法,其特征在于,所述计算核为8个,所述根据矩阵维度和计算核的个数,构建多个多核并行模式,包括:将各所述计算核在所述稠密输入矩阵上平均分配,构建所述第二模式;其中,每个所述计算核对应的所述稠密输入矩阵的行数为K,每个所述计算核对应的所述稠密输入矩阵的列数为八分之一N的向上取整。
3.根据权利要求2所述的方法,其特征在于,所述获取在每个所述多核并行模式下进行稀疏矩阵乘法计算的理论计算效率,包括:获取所述矩阵维度在所述第二模式下的理论计算效率如下式: ;式中,N_ratio为所述第二模式的理论计算效率,m b 为预设的所述M维的分块大小,n b 为预设的所述N维的分块大小。
4.根据权利要求1所述的方法,其特征在于,所述计算核为8个,所述第三模式包括第一子模式和第二子模式,所述根据矩阵维度和计算核的个数,构建多个多核并行模式,包括:在所述权值矩阵的M维切分,得到2个行数为二分之一M、列数为K的第一子块,同时在所述稠密输入矩阵的N维切分,得到4个行数为K、列数为四分之一N的第二子块,构建所述第一子模式;一个所述计算核对应一种第一子块组合;所述第一子块组合为一个所述第一子块与一个所述第二子块的组合;在所述权值矩阵的M维切分,得到4个行数为四分之一M、列数为K的第三子块,同时在所述稠密输入矩阵的N维切分,得到2个行数为K、列数为二分之一N的第四子块,构建所述第二子模式;一个所述计算核对应一种第二子块组合;所述第二子块组合为一个所述第三子块与一个所述第四子块的组合。
5.根据权利要求4所述的方法,其特征在于,所述获取在每个所述多核并行模式下进行稀疏矩阵乘法计算的理论计算效率,包括:获取所述矩阵维度在所述第一子模式下的理论计算效率如下式: ;获取所述矩阵维度在所述第二子模式下的理论计算效率如下式: ;式中,MN_ratio1为所述第一子模式的理论计算效率,MN_ratio2为所述第二子模式的理论计算效率,m b 为预设的所述M维的分块大小,n b 为预设的所述N维的分块大小。
6.根据权利要求1所述的方法,其特征在于,所述选择理论计算效率最大的多核并行模式进行稀疏矩阵乘法计算,包括:根据选择的多核并行模式,获取每个所述计算核并行时对应的权值矩阵块和稠密输入矩阵块;将所述权值矩阵块发送至标量存储空间,将所述稠密输入矩阵块发送至向量存储空间;将所述标量存储空间和所述向量存储空间中的矩阵块进行微内核计算,得到所述稠密输出矩阵。
7.根据权利要求6所述的方法,其特征在于,所述微内核计算,包括:将所述权值矩阵块与所述稠密输入矩阵块做稀疏矩阵乘法计算,得到大小为m b ×n b 的计算结果;所述m b 为预设的所述M维的分块大小,n b 为预设的所述N维的分块大小。
8.一种面向向量处理器的半精度稀疏矩阵乘法多核并行的装置,其特征在于,应用于权利要求1-7任一项所述的方法,稀疏矩阵乘法为按稀疏格式压缩后的权值矩阵与稠密输入矩阵进行乘法计算,得到稠密输出矩阵的过程,所述装置包括:模式构建单元、效率计算单元和计算单元;所述模式构建单元,用于根据矩阵维度和计算核的个数,构建多个多核并行模式;所述矩阵维度为矩阵中的行数和列数,其中,所述权值矩阵的矩阵维度为[M][K],所述稠密输入矩阵的矩阵维度为[K][N],所述稠密输出矩阵的矩阵维度为[M][N];所述多核并行模式包括第一模式、第二模式和第三模式;所述第一模式为各所述计算核在所述权值矩阵的M维上并行;所述第二模式为各所述计算核在所述稠密输入矩阵的N维上并行;所述第三模式为各所述计算核在所述M维和所述N维上同时并行;所述效率计算单元,用于基于M和N的数值,获取在每个所述多核并行模式下进行稀疏矩阵乘法计算的理论计算效率;所述计算单元,用于选择理论计算效率最大的多核并行模式进行稀疏矩阵乘法计算。