[go: up one dir, main page]

CN104636316A - 面向gpdsp的大规模矩阵乘法计算的方法 - Google Patents

面向gpdsp的大规模矩阵乘法计算的方法 Download PDF

Info

Publication number
CN104636316A
CN104636316A CN201510063830.3A CN201510063830A CN104636316A CN 104636316 A CN104636316 A CN 104636316A CN 201510063830 A CN201510063830 A CN 201510063830A CN 104636316 A CN104636316 A CN 104636316A
Authority
CN
China
Prior art keywords
block
sub
matrix
gpdsp
matrix multiplication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510063830.3A
Other languages
English (en)
Other versions
CN104636316B (zh
Inventor
刘仲
陈书明
万江华
陈磊
田希
彭元喜
陈虎
扈啸
孙永节
陈胜刚
孙海燕
阳柳
张雪萌
马胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201510063830.3A priority Critical patent/CN104636316B/zh
Publication of CN104636316A publication Critical patent/CN104636316A/zh
Application granted granted Critical
Publication of CN104636316B publication Critical patent/CN104636316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种面向GPDSP的大规模矩阵乘法计算的方法,其步骤为:S1:由CPU核在片外DDR存储器为矩阵A、B和C分配存储空间,并生成初始化数据或者从其他数据来源传输本次计算所需要的数据;S2:根据GPDSP的体系结构特征确定最佳的分块矩阵乘法所需要的分块大小MB、KB和NB;S3:由CPU核根据步骤S2确定的MB、KB、NB值将矩阵A、B和C进行逻辑分块;S4:由GPDSP的CPU核调度DSP核计算子块矩阵的乘加计算:Cik+=Aij*Bjk(1≤i≤mi,1≤j≤ki,1≤k≤ni);S5:计算完毕。本发明原理简单、操作方便,能充分利用GPDSP的CPU核通用计算和DSP核向量处理阵列强大并行计算、高带宽向量数据加载能力,显著提高DSP核计算访存比。

Description

面向GPDSP的大规模矩阵乘法计算的方法
技术领域
本发明主要涉及通用计算数字信号处理器(General-Purpose Digital Signal Processor,简称GPDSP),特指一种适用于GPDSP的大规模矩阵乘法计算的方法。
背景技术
基本线性代数算法库(Basic Linear Algebra Subroutines,BLAS)是各类科学计算最常用的核心数学算法库之一,工业界针对各自的处理器平台都推出了高度优化的BLAS实现,如IBM的ESSL、Intel的MKL、AMD的ACML等。其中,矩阵乘法(General Matrix-MatrixMultiplication,GEMM)是BLAS库的核心算法。GEMM是典型的计算密集和访存密集型应用,对处理器的运算能力、访存带宽及延迟要求非常高,相关文献研究表明GEMM计算占据高性能基准测试程序(High Performance Linpack,HPL)运算量的90%以上。因此,针对处理器的体系结构特点研究GEMM优化方法对评测该处理器的计算效率、发挥处理器的计算优势和提高应用程序的运行速度均具有很重要的参考价值。
分块矩阵乘法方法是提升大规模GEMM性能的主要方法,最典型的研究是Gunnels针对基于Cache的多级存储结构,提出的分层计算的GEMM优化方法,能够降低存储层次间搬运数据的平均开销。面向Cache结构的分块矩阵乘法方法的主要思想是将大矩阵的乘法分割为一系列子矩阵的乘法,设m为Cache的容量,则分块参数中的子矩阵块大小blocksize通常满足约束条件blocksize<=sqrt(m/3),使得子矩阵计算时的数据访问能够全部在Cache中命中,该部分的计算能以接近峰值的性能进行,从而提高整个大矩阵乘法的计算性能。
在专利申请号为201310725118.6的文献(处于实审阶段)中提供了一种通用计算数字信号处理器(General-Purpose Digital Signal Processor,简称GPDSP),它包含CPU核单元和DSP核单元,CPU核单元主要用于负责包括存储管理、文件控制、进程调度、中断管理任务在内的通用事务管理以及提供对通用操作系统的完整支持;DSP核单元包含若干强大计算能力的64位向量处理阵列,用于支持高密集运算任务的解算。传统的面向Cache结构的分块矩阵乘法方法不适合GPDSP的非Cache的向量阵列存储访存模式和向量处理阵列并发向量处理的体系结构特征,难以发挥GPDSP向量计算优势。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作方便、能充分利用GPDSP的CPU核通用计算和DSP核向量处理阵列强大并行计算、高带宽向量数据加载能力,显著提高DSP核计算访存比的面向GPDSP的大规模分块矩阵乘法计算的方法。
为解决上述技术问题,本发明采用以下技术方案:
一种面向GPDSP的大规模矩阵乘法计算的方法,其步骤为:
S1:由GPDSP的CPU核在片外DDR存储器为矩阵A、B和C分配存储空间,并生成初始化数据或者从其他数据来源传输本次计算所需要的数据;
S2:根据GPDSP的体系结构特征确定最佳的分块矩阵乘法所需要的分块大小MB、KB和NB,即令矩阵的M、K、N三个维数对应的分块大小分别标记为MB、KB、NB;
S3:由GPDSP的CPU核根据步骤S2确定的MB、KB、NB值将矩阵A、B和C进行逻辑分块,令mi=INT(M/MB),ki=INT(K/KB),ni=INT(N/NB),其中INT()表示对括号中的值向上取整;矩阵A的子块标记为Aij(1≤i≤mi,1≤j≤ki),矩阵B的子块标记为Bjk(1≤j≤ki,1≤k≤ni),矩阵C的子块标记为Cik(1≤i≤mi,1≤k≤ni);
S4:由GPDSP的CPU核调度DSP核计算子块矩阵的乘加计算:Cik+=Aij*Bjk(1≤i≤mi,1≤j≤ki,1≤k≤ni);
S5:计算完毕。
作为本发明的进一步改进:所述步骤S2中NB的确定方法是NB=p*q。
作为本发明的进一步改进:所述步骤S2中MB、KB的确定方法为:设条件(1)MB*KB*w≤s3,(2)(MB*KB*w+KB*NB*w)≤s1,按照满足条件(1)(2)取得的最大MB、KB值为所需要的MB、KB值。
作为本发明的进一步改进:所述步骤S4的具体流程为:
S4.1:由GPDSP的CPU核通过DMA将矩阵A的子块Aij(1≤i≤mi,1≤j≤ki)加载至片内共享存储阵列中,i,j的初始值均为1;
S4.2:由GPDSP的CPU核调度各个DSP核分别计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni);
S4.3:由GPDSP的CPU核判断DSP核是否完成子块Aij与矩阵B的所有子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni),若是转步骤S4.4,若不是则转步骤S4.2,直至上述DSP核计算任务全部完成;
S4.4:判断j是否等于ki,若不是令j=j+1,转步骤S4.1;若是,则继续判断i是否等于mi,若不是令i=i+1,j=1,转步骤S4.1;若是,转步骤S5;
作为本发明的进一步改进:所述步骤S4.2中共有k=ni次子块矩阵的乘加计算,由CPU核调度各个DSP核依次计算各子块矩阵的乘加计算,每个DSP核接收到计算任务后按照CPU分配的矩阵B和C的逻辑分块由各自核的DMA加载至片内向量存储数据阵列,完成子块矩阵的乘加计算后通知CPU核;CPU核根据子块计算的完成情况派发新的子块矩阵乘加计算任务,直至上述k=ni次子块矩阵的乘加计算全部完成。
作为本发明的进一步改进:所述步骤S4.2中的GPDSP的DSP核计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni)包括如下流程:
S4.2.1:由GPDSP的DSP核将片内标量存储器L1D的存储访问模式配置为SRAM访问模式;
S4.2.2:将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb));
上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值;
S4.2.3:DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中,初始x=1,计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb));
S4.2.3计算中共有MB/Mb次子块矩阵的乘加计算,DSP核通过各自的DMA分别加载Ax至片内标量存储数据阵列,完成Cxk+=Ax*Bjk单元块的矩阵乘加计算任务,直至上述MB/Mb次子块的矩阵乘加计算全部完成。
作为本发明的进一步改进:所述步骤S4中包括DSP核在片内标量存储器进一步分块的流程:DSP核将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb));上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值;DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中,初始x=1,计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb))。
与现有技术相比,本发明的优点在于:
本发明的面向GPDSP的大规模矩阵乘法计算的方法,原理简单、操作方便,基于GPDSP的体系结构特征,利用其高效的CPU核和DSP核协同计算实现大规模矩阵乘法计算;本发明由CPU核运行操作系统,负责数据的分割和任务的调度、数据同步,DSP核运行负责分块矩阵乘法计算的核心程序,不间断的从CPU核获取新的计算任务并将运行结果报告CPU核。由上可知,本发明提供的任务分割方法能够充分发挥CPU核的通用计算和DSP核的强大向量化计算能力的优点,实现CPU核与DSP核间的紧密协同配合,高效的实现大规模矩阵乘法计算。
附图说明
图1是本发明所面向的GPDSP的简化访存结构模型示意图。
图2是本发明方法的流程示意图。
图3是本发明在具体应用实例中GPDSP的CPU核对矩阵A、B和C进行逻辑分块的流程示意图。
图4是本发明在具体应用实例中GPDSP的CPU核对矩阵A、B和C在M、K和N维进行任务调度的流程示意图。
图5是本发明在具体应用实例中GPDSP的DSP核在片内标量存储器进一步分块的流程示意图。
图6是本发明在具体应用实例中GPDSP的DSP核在片内标量存储器进行的子块矩阵乘加计算的流程示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,为本发明在具体应用实例中所面向的GPDSP的简化访存结构模型示意图。系统包括CPU核单元和DSP核单元,DSP核单元包含若干64位向量处理阵列计算单元、专用的片内标量存储器和向量阵列存储器,CPU核单元和DSP核单元共享的片内共享存储、大容量的片外DDR存储器。
设GPDSP中DSP核数量为r个;DSP核的向量处理阵列计算单元数量为p个,每个计算单元的MAC(乘加部件)数量为q个,DSP核的片内向量阵列存储器容量为s1字节,DSP核的片内标量存储器容量为s2字节;GPDSP的片内共享存储阵列容量为s3字节,GPDSP的片外共享DDR存储容量为s4字节。设计算的GEMM矩阵乘加运算为C+=A*B,其中A为M×K阶的矩阵,B为K×N阶的矩阵,C为M×N阶的矩阵,每个矩阵元素的数据为w字节。
如图2所示,本发明面向GPDSP的大规模矩阵乘法计算的方法在具体应用实例中的流程为:
S1:由GPDSP的CPU核在片外DDR存储器为矩阵A、B和C分配存储空间,并生成初始化数据或者从其他数据来源传输本次计算所需要的数据。
S2:根据GPDSP的体系结构特征确定最佳的分块矩阵乘法所需要的分块大小MB、KB和NB。
令矩阵的M、K、N三个维数对应的分块大小分别标记为MB、KB、NB。
其中,NB的确定方法是NB=p*q。MB、KB的确定方法为:设条件(1)MB*KB*w≤s3,(2)(MB*KB*w+KB*NB*w)≤s1,按照满足条件(1)(2)取得的最大MB、KB值为所需要的MB、KB值。
S3:参见图3所示,由GPDSP的CPU核根据步骤S2确定的MB、KB、NB值将矩阵A、B和C进行逻辑分块,令mi=INT(M/MB),ki=INT(K/KB),ni=INT(N/NB),其中INT()表示对括号中的值向上取整。
矩阵A的子块标记为Aij(1≤i≤mi,1≤j≤ki),矩阵B的子块标记为Bjk(1≤j≤ki,1≤k≤ni),矩阵C的子块标记为Cik(1≤i≤mi,1≤k≤ni)。
S4:参见图4所示,由GPDSP的CPU核调度DSP核计算子块矩阵的乘加计算:Cik+=Aij*Bjk(1≤i≤mi,1≤j≤ki,1≤k≤ni)。
S4.1:由GPDSP的CPU核通过DMA将矩阵A的子块Aij(1≤i≤mi,1≤j≤ki)加载至片内共享存储阵列中(i,j的初始值均为1)。
S4.2:由GPDSP的CPU核调度各个DSP核分别计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni)。
上述步骤S4.2计算中共有k=ni次子块矩阵的乘加计算,由CPU核调度各个DSP核依次计算各子块矩阵的乘加计算,每个DSP核接收到计算任务后按照CPU分配的矩阵B和C的逻辑分块由各自核的DMA加载至片内向量存储数据阵列,完成子块矩阵的乘加计算后通知CPU核,CPU核根据子块计算的完成情况派发新的子块矩阵乘加计算任务,直至上述k=ni次子块矩阵的乘加计算全部完成。
S4.3:由GPDSP的CPU核判断DSP核是否完成子块Aij与矩阵B的所有子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni),若是转步骤4.4,若不是则转步骤4.2,直至上述DSP核计算任务全部完成。
S4.4:判断j是否等于ki,若不是令j=j+1,转步骤S4.1;若是,则继续判断i是否等于mi,若不是令i=i+1,j=1,转步骤S4.1;若是,转步骤S5。
S5:计算完毕。
在本实施例中,上述步骤S4.2中的GPDSP的DSP核计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni)采用如下计算方法:
如图5所示,为本实施例中GPDSP的DSP核在片内标量存储器进一步分块的流程,GPDSP的DSP核将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb))。上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值。DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中(初始x=1),计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb))。
如图6所示,本实施例中,GPDSP的DSP核在片内标量存储器进行的子块矩阵乘加计算流程的具体步骤为:
S4.2.1:由GPDSP的DSP核将片内标量存储器L1D的存储访问模式配置为SRAM访问模式;
S4.2.2:将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb))。
上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值。
S4.2.3:DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中(初始x=1),计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb))。
S4.2.3计算中共有MB/Mb次子块矩阵的乘加计算,DSP核通过各自的DMA分别加载Ax至片内标量存储数据阵列,完成Cxk+=Ax*Bjk单元块的矩阵乘加计算任务,直至上述MB/Mb次子块的矩阵乘加计算全部完成。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (7)

1.一种面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,步骤为:
S1:由GPDSP的CPU核在片外DDR存储器为矩阵A、B和C分配存储空间,并生成初始化数据或者从其他数据来源传输本次计算所需要的数据;
S2:根据GPDSP的体系结构特征确定最佳的分块矩阵乘法所需要的分块大小MB、KB和NB,即令矩阵的M、K、N三个维数对应的分块大小分别标记为MB、KB、NB;
S3:由GPDSP的CPU核根据步骤S2确定的MB、KB、NB值将矩阵A、B和C进行逻辑分块,令mi=INT(M/MB),ki=INT(K/KB),ni=INT(N/NB),其中INT()表示对括号中的值向上取整;矩阵A的子块标记为Aij(1≤i≤mi,1≤j≤ki),矩阵B的子块标记为Bjk(1≤j≤ki,1≤k≤ni),矩阵C的子块标记为Cik(1≤i≤mi,1≤k≤ni);
S4:由GPDSP的CPU核调度DSP核计算子块矩阵的乘加计算:Cik+=Aij*Bjk(1≤i≤mi,1≤j≤ki,1≤k≤ni);
S5:计算完毕。
2.根据权利要求1所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S2中NB的确定方法是NB=p*q。
3.根据权利要求1所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S2中MB、KB的确定方法为:设条件(1)MB*KB*w≤s3,(2)(MB*KB*w+KB*NB*w)≤s1,按照满足条件(1)(2)取得的最大MB、KB值为所需要的MB、KB值。
4.根据权利要求1或2或3所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S4的具体流程为:
S4.1:由GPDSP的CPU核通过DMA将矩阵A的子块Aij(1≤i≤mi,1≤j≤ki)加载至片内共享存储阵列中,i,j的初始值均为1;
S4.2:由GPDSP的CPU核调度各个DSP核分别计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni);
S4.3:由GPDSP的CPU核判断DSP核是否完成子块Aij与矩阵B的所有子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni),若是转步骤S4.4,若不是则转步骤S4.2,直至上述DSP核计算任务全部完成;
S4.4:判断j是否等于ki,若不是令j=j+1,转步骤S4.1;若是,则继续判断i是否等于mi,若不是令i=i+1,j=1,转步骤S4.1;若是,转步骤S5。
5.根据权利要求4所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S4.2中共有k=ni次子块矩阵的乘加计算,由CPU核调度各个DSP核依次计算各子块矩阵的乘加计算,每个DSP核接收到计算任务后按照CPU分配的矩阵B和C的逻辑分块由各自核的DMA加载至片内向量存储数据阵列,完成子块矩阵的乘加计算后通知CPU核;CPU核根据子块计算的完成情况派发新的子块矩阵乘加计算任务,直至上述k=ni次子块矩阵的乘加计算全部完成。
6.根据权利要求4所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S4.2中的GPDSP的DSP核计算子块Aij与矩阵B的子块Bjk(1≤k≤ni)的矩阵乘加计算Cik+=Aij*Bjk(1≤k≤ni)包括如下流程:
S4.2.1:由GPDSP的DSP核将片内标量存储器L1D的存储访问模式配置为SRAM访问模式;
S4.2.2:将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb));
上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值;
S4.2.3:DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中,初始x=1,计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb));
S4.2.3计算中共有MB/Mb次子块矩阵的乘加计算,DSP核通过各自的DMA分别加载Ax至片内标量存储数据阵列,完成Cxk+=Ax*Bjk单元块的矩阵乘加计算任务,直至上述MB/Mb次子块的矩阵乘加计算全部完成。
7.根据权利要求4所述的面向GPDSP的大规模矩阵乘法计算的方法,其特征在于,所述步骤S4中包括DSP核在片内标量存储器进一步分块的流程:DSP核将子块Aij根据片内标量存储器的容量大小划分为Mb个长度为KB的连续计算子块,并标记为Ax(1≤x≤INT(MB/Mb));上述参数Mb的确定方法是,满足条件:2*Mb*KB*w≤s2取得的最大Mb值为所需要的Mb值;DSP核通过DMA依次将子块Ax加载至片内标量存储器L1D中,初始x=1,计算子块矩阵乘加:Cxk+=Ax*Bjk(1≤x≤INT(MB/Mb))。
CN201510063830.3A 2015-02-06 2015-02-06 面向gpdsp的大规模矩阵乘法计算的方法 Active CN104636316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510063830.3A CN104636316B (zh) 2015-02-06 2015-02-06 面向gpdsp的大规模矩阵乘法计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510063830.3A CN104636316B (zh) 2015-02-06 2015-02-06 面向gpdsp的大规模矩阵乘法计算的方法

Publications (2)

Publication Number Publication Date
CN104636316A true CN104636316A (zh) 2015-05-20
CN104636316B CN104636316B (zh) 2018-01-12

Family

ID=53215089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510063830.3A Active CN104636316B (zh) 2015-02-06 2015-02-06 面向gpdsp的大规模矩阵乘法计算的方法

Country Status (1)

Country Link
CN (1) CN104636316B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899182A (zh) * 2015-06-09 2015-09-09 中国人民解放军国防科学技术大学 一种支持可变分块的矩阵乘加速方法
CN106959937A (zh) * 2017-03-30 2017-07-18 中国人民解放军国防科学技术大学 一种面向gpdsp的反卷积矩阵的向量化实现方法
CN109992743A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 矩阵乘法器
CN112765551A (zh) * 2021-01-21 2021-05-07 中国科学院重庆绿色智能技术研究院 一种双重约化的矩阵乘法的分块参数空间优化方法
WO2022007597A1 (zh) * 2020-07-08 2022-01-13 华为技术有限公司 矩阵运算的方法和加速器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411558A (zh) * 2011-10-31 2012-04-11 中国人民解放军国防科学技术大学 面向向量处理器的大矩阵相乘的向量化实现方法
CN103714039A (zh) * 2013-12-25 2014-04-09 中国人民解放军国防科学技术大学 通用计算数字信号处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411558A (zh) * 2011-10-31 2012-04-11 中国人民解放军国防科学技术大学 面向向量处理器的大矩阵相乘的向量化实现方法
CN103714039A (zh) * 2013-12-25 2014-04-09 中国人民解放军国防科学技术大学 通用计算数字信号处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马安国: "高效能GPGPU体系结构关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899182A (zh) * 2015-06-09 2015-09-09 中国人民解放军国防科学技术大学 一种支持可变分块的矩阵乘加速方法
CN104899182B (zh) * 2015-06-09 2017-10-31 中国人民解放军国防科学技术大学 一种支持可变分块的矩阵乘加速方法
CN106959937A (zh) * 2017-03-30 2017-07-18 中国人民解放军国防科学技术大学 一种面向gpdsp的反卷积矩阵的向量化实现方法
CN106959937B (zh) * 2017-03-30 2019-03-29 中国人民解放军国防科学技术大学 一种面向gpdsp的反卷积矩阵的向量化实现方法
CN109992743A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 矩阵乘法器
CN109992743B (zh) * 2017-12-29 2020-06-16 华为技术有限公司 矩阵乘法器
US11334648B2 (en) 2017-12-29 2022-05-17 Huawei Technologies Co., Ltd. Matrix multiplier
US11934481B2 (en) 2017-12-29 2024-03-19 Huawei Technologies Co., Ltd. Matrix multiplier
WO2022007597A1 (zh) * 2020-07-08 2022-01-13 华为技术有限公司 矩阵运算的方法和加速器
CN112765551A (zh) * 2021-01-21 2021-05-07 中国科学院重庆绿色智能技术研究院 一种双重约化的矩阵乘法的分块参数空间优化方法
CN112765551B (zh) * 2021-01-21 2024-05-07 中国科学院重庆绿色智能技术研究院 一种双重约化的矩阵乘法的分块参数空间优化方法

Also Published As

Publication number Publication date
CN104636316B (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
JP7546640B2 (ja) チップ上に常駐するパラメータを用いたニューラルネットワークアクセラレータ
US10726336B2 (en) Apparatus and method for compression coding for artificial neural network
CN107168683B (zh) 申威26010众核cpu上gemm稠密矩阵乘高性能实现方法
CN107844322B (zh) 用于执行人工神经网络正向运算的装置和方法
CN107689948B (zh) 应用于神经网络硬件加速系统的高效数据访存管理装置
US20190392300A1 (en) Systems and methods for data compression in neural networks
US20210042624A1 (en) System and method of accelerating execution of a neural network
CN104636316B (zh) 面向gpdsp的大规模矩阵乘法计算的方法
US11544067B2 (en) Accelerating AI training by an all-reduce process with compression over a distributed system
CN110378468A (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
CN111242277A (zh) 一种基于fpga设计的支持稀疏剪枝的卷积神经网络加速器
CN112418396B (zh) 一种基于fpga的稀疏激活感知型神经网络加速器
CN108665059A (zh) 基于现场可编程门阵列的卷积神经网络加速系统
CN107301456A (zh) 基于向量处理器的深度神经网络多核加速实现方法
CN113780529B (zh) 一种面向fpga的稀疏卷积神经网络多级存储计算系统
CN113516236A (zh) 基于zynq平台的vgg16网络并行加速处理方法
CN108491924B (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN102722472B (zh) 一种复数矩阵的优化方法
US11886347B2 (en) Large-scale data processing computer architecture
CN109993293A (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
CN112668708A (zh) 一种提高数据利用率的卷积运算装置
CN104615584B (zh) 面向gpdsp的大规模三角线性方程组求解向量化计算的方法
CN101650706A (zh) Fft分支计算方法及装置
CN104615516A (zh) 面向GPDSP的大规模高性能Linpack测试基准实现的方法
CN113313244A (zh) 面向加法网络的近存储神经网络加速器及其加速方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant