CN107622037A - 一种提高图形处理单元的矩阵乘计算性能的方法和装置 - Google Patents
一种提高图形处理单元的矩阵乘计算性能的方法和装置 Download PDFInfo
- Publication number
- CN107622037A CN107622037A CN201710891317.2A CN201710891317A CN107622037A CN 107622037 A CN107622037 A CN 107622037A CN 201710891317 A CN201710891317 A CN 201710891317A CN 107622037 A CN107622037 A CN 107622037A
- Authority
- CN
- China
- Prior art keywords
- matrix
- block
- processing unit
- graphics processing
- matrixes
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了提高图形处理单元的矩阵乘计算性能的方法和装置,该方法包括:采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止。当在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入图形处理单元的全局存储器。对于矩阵中频繁读写的元素,充分利用存储器中局部性原理,减少全局存储器访问的次数,并且充分利用图形处理单元的共享存储器的读取快速、性能开销小的优点,减少读取数据所带来的性能开销,提高矩阵乘计算性能。
Description
技术领域
本发明涉及信息技术,尤指一种提高图形处理单元的矩阵乘计算性能的方法和装置。
背景技术
随着互联网时代科学技术的发展,当前对大数据计算的需求越来越高,尤其是近两年随着深度学习的快速发展,需要对大量图像集进行计算及处理,以达到更好的图像识别效果。相比之前在游戏、视觉效果中的应用,近几年来,GPU(Graphics Processing Unit,图形处理单元)正在成为数据中心、超级计算中心的标准配置,并广泛应用于深度学习领域,其强大的计算能力在很大程度上推动了深度学习研究的发展,因此GPU开始越来越多的运用于通用计算,并且越来越多地应用到科学计算程序的加速研究当中。
一般的深度学习模型在借助GPU进行计算时,依靠的往往是传统的GPU编程技术或现有的GPU加速库(例如,cuDNN),但是这些技术手段对于图像处理中经常涉及到的一些复杂计算(例如,图像处理中普遍存在的矩阵乘计算)并没有实现最大限度的性能优化。而当前硬件的发展往往很难赶上软件计算量需求的增长速度,由于硬件本身或编程技术上的限制,完成一个模型的计算可能需要数周的时间,这对深度学习训练和识别效率的发展产生了很大的限制。
发明内容
为了解决上述技术问题,本发明提供了一种提高图形处理单元的矩阵乘计算性能的方法和装置,其能够提高图形处理单元进行矩阵乘计算的性能。
为了达到本发明目的,本发明提供了一种提高图形处理单元的矩阵乘计算性能的方法,该方法包括:
采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止;
当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器。
进一步地,其中,所述采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止的步骤,包括:
将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素;
采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积;以及
将所得到的矩阵块的相应元素位置的乘积写入寄存器;
所述将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器的步骤,包括:
当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将在所述寄存器中写入的矩阵块的相应元素位置的乘积写入所述全局存储器。
进一步地,所述将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中的步骤,包括:
根据所述共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
进一步地,所述将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中的步骤,包括:
将所述矩阵块进行转置,以将经转置的矩阵块拷贝到所述共享存储器中。
为了达到本发明目的,本发明还提供了一种提高图形处理单元的矩阵乘计算性能的装置,该装置包括:
矩阵乘计算模块,设置成:采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止;以及
乘积写入模块,设置成:当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器。
进一步地,矩阵乘计算模块包括:
矩阵块拷贝子模块,设置成:将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素;
矩阵乘计算子模块,设置成:采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积;以及
寄存器写入子模块,所述寄存器写入子模块设置成:将所得到的矩阵块的相应元素位置的乘积写入寄存器;
所述乘积写入模块设置成:当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将在所述寄存器中写入的矩阵块的相应元素位置的乘积写入所述全局存储器。
进一步地,所述矩阵块拷贝子模块设置成:根据所述共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
进一步地,所述矩阵块拷贝子模块设置成:将所述矩阵块进行转置,以将经转置的矩阵块拷贝到所述共享存储器中。
本发明的有益效果在于,对于矩阵中频繁读写的元素,一方面能充分利用存储器中局部性原理,减少全局存储器访问的次数,另一方面能充分利用GPU中的共享存储器的读取快速、性能开销小的优点,减少读取数据所带来的性能开销,从而提高GPU的矩阵乘计算性能,有助于提高采用GPU进行深度学习训练和识别的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明的实施例提供的提高图形处理单元的矩阵乘计算性能的方法的流程图;
图2为本发明的可选实施例提供的提高图形处理单元的矩阵乘计算性能的方法的流程图;
图3为本发明的实施例提供的提高图形处理单元的矩阵乘计算性能的装置的框图;
图4为本发明的可选实施例提供的提高图形处理单元的矩阵乘计算性能的装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本发明的一个实施例中,提供了一种提高图形处理单元的矩阵乘计算性能的方法,如图1所示,该方法包括步骤S100和步骤S120。
步骤S100,采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止。
在此,图形处理单元的共享存储器是可以由进行矩阵乘计算的所有线程读取的可读写存储器;图形处理单元的全局存储器存储了需要进行矩阵乘计算的矩阵。共享存储器是一个片上存储器,所以共享存储器读取数据相比于本地存储器和图形处理单元的全局存储器都要快得多,但是共享存储器的存储空间相比于全局存储器往往更小。由于在矩阵计算过程中往往涉及对某一矩阵块的频繁读取,因此在不使用共享存储器的情况下,每一次计算都需要从全局存储器中读取数据,这种情况对于维度较大的矩阵来说,会造成矩阵计算效率会非常低下,尤其是当深度学习模型算法中包含多层网络结构计算时,传统的从全局存储器读取数据的计算方式所带来的性能开销非常大。由上可知,采用读取速度更快的共享存储器,读取数据所需要的性能开销更小。
步骤S120,当在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入图形处理单元的全局存储器。
当采用本发明的实施例时,对于矩阵中频繁读写的元素,能够充分利用存储器中的局部性原理,也就是说,利用存储器的空间局部性:紧邻被读取的单元很快将再次被读取(程序大部分情况下处于顺序和循环或者某个模块中执行;变量(尤其是数组)会被集中保存);并且利用存储器的时间局部性:刚被读取过的单元(例如,重复执行的循环反复计算的变量)很快将再次被读取。
本发明的实施例的有益效果是:对于矩阵中频繁读写的元素,一方面能充分利用存储器中局部性原理,减少全局存储器访问的次数,另一方面能充分利用GPU中的共享存储器的读取快速、性能开销小的优点,减少读取数据所带来的性能开销,从而提高GPU的矩阵乘计算性能,有助于提高采用GPU进行深度学习训练和识别的效率。
进一步地,在一个可选的实施例中,如图2所示,步骤S100包括步骤S105、步骤S109以及步骤S113。
步骤S105,将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素。
在步骤S105中,分别将全局存储器中将要进行矩阵乘计算的两个矩阵中的每个矩阵的一个矩阵块,拷贝到共享存储器中,其中,每个矩阵块是根据矩阵乘法规则而相对应的,也就是说,在进行矩阵乘计算的第一矩阵中读取的第一矩阵块的行的数量为A并且列的数量为B的时候,在进行矩阵乘预算的第二矩阵中读取的相应的第二矩阵块的行的数量为B并且列的数量为B;这两个矩阵块中的对应的元素进行矩阵乘计算。
步骤S109,采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积。
步骤S113,将所得到的矩阵块的相应元素位置的乘积写入寄存器。
在此,并非每当计算出矩阵块的乘积时,就将该乘积写入全局存储器,而是将矩阵块的乘积写入寄存器。这仍然是在利用共享存储器和寄存器所具有的读取速度快的固有优点,以进一步提高数据读取效率,降低读取数据所需要的性能开销。
并且,在这个可选的实施例中,步骤S120包括:将在寄存器中写入的矩阵块的相应元素位置的乘积写入图形处理单元的全局存储器。
直到当在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,此时,已经完成了需要进行矩阵乘计算的矩阵的所有矩阵乘计算,将矩阵乘计算的乘积从寄存器写入到全局存储器中。
进一步地,在一个可选的实施例中,步骤S105包括:根据共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
由于相对于全局存储器来说,共享存储器的存储空间是有限的,因此,需要确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量,以将其中的元素数量匹配共享存储器的存储空间的矩阵块拷贝到共享存储器,从而最大限度地利用共享存储器读取数据速度快的优点。
进一步地,在一个可选的实施例中,步骤S105包括:将矩阵块进行转置,以将经转置的矩阵块拷贝到共享存储器中,实现合并访存。
为了保证第一数量的线程能够同时读取连续对齐的内存块,首先将矩阵块进行转置,因为矩阵块转置前的计算数据地址不相邻,读取存储器的性能较低。
表示矩阵MatrixA转置前的计算方式的代码如下:
for(int i=0;i<columSize;i++){
Sum+=MatrixA[columPitch*id+i]*MatirxB[m][n];
}
其中,MatrixA是一维矩阵,columSize是矩阵块在列的方向上的总长度,columPitch是矩阵块在列的方向上的单位长度。在此,i的值是零或者是正整数,i的值不断递增,并且i的值小于矩阵块在列的方向上的总长度。id是线程的地址。MatrixA[columPitch*id+i]表示矩阵A中的一个元素。在这个矩阵A(MatrixA)中,矩阵A中的元素的地址(即,方括号中的值)不一定是连续的。这会造成在读取矩阵A中的元素的时候,并不能最高效率地读取矩阵A中的所有元素。
而对矩阵MatrixA进行转置后,计算方式如下:
for(int i=0;i<rowSize;i++){
Sum+=MatrixA[columPitch*i+id]*MatirxB[m][n];
}
其中,rowSize是矩阵块在行的方向上的总长度。在此,由于i是不断递增的,所以(columPitch*i+id)是以columPitch(在列的方向上的单位长度)为单位递增的,因此,矩阵A中的元素的地址(即,方括号中的值)是连续的。当第一数量的线程一起读取共享存储器的时候,这些第一数量的线程所读取的地址在同一块区域(即,共享存储区),第一数量等于在硬件上可以一起传送的数据总线宽度时,并且由于第一数量的线程所读取的地址是连续的,所以第一数量的线程在一次读取中并没有产生冲突,则这块区域的数据可以被线程同时读取,这就充分利用了图形处理单元的硬件,保证在图形处理单元的多线程计算时,相邻线程能够同时访问段对齐的内存块所具有的相邻的地址(即,合并访存),提升了多线程访问存储器的效率。
另一方面,在本发明的一个实施例中,提供了一种提高图形处理单元的矩阵乘计算性能的装置,如图3所示,该装置包括矩阵乘计算模块200和乘积写入模块220。
矩阵乘计算模块200设置成:采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止。
乘积写入模块220设置成:当在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入图形处理单元的全局存储器。
本发明的实施例的有益效果是:对于矩阵中频繁读写的元素,一方面能充分利用存储器中局部性原理,减少全局存储器访问的次数,另一方面能充分利用GPU中的共享存储器的读取快速、性能开销小的优点,减少读取数据所带来的性能开销,从而提高GPU的矩阵乘计算性能,有助于提高采用GPU进行深度学习训练和识别的效率。
进一步地,在本发明的一个可选的实施例中,如图4所示,矩阵乘计算模块200包括矩阵块拷贝子模块205、矩阵乘计算子模块209以及寄存器写入子模块213。
矩阵块拷贝子模块205设置成:将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素。
矩阵乘计算子模块209设置成:采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积。
寄存器写入子模块213设置成:将所得到的矩阵块的相应元素位置的乘积写入寄存器。
并且,在这个可选的实施例中,乘积写入模块220设置成:当在图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将在寄存器中写入的矩阵块的相应元素位置的乘积写入全局存储器。
进一步地,在一个可选的实施例中,矩阵块拷贝子模块205设置成:根据共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
进一步地,在一个可选的实施例中,矩阵块拷贝子模块205设置成:将矩阵块进行转置,以将经转置的矩阵块拷贝到共享存储器中,实现合并访存。
虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种提高图形处理单元的矩阵乘计算性能的方法,其特征在于,包括:
采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止;
当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器。
2.根据权利要求1所述的方法,其中,所述采用图形处理单元的共享存储器获取拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止的步骤,包括:
将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素;
采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积;以及
将所得到的矩阵块的相应元素位置的乘积写入寄存器;
所述将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器的步骤,包括:
当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将在所述寄存器中写入的矩阵块的相应元素位置的乘积写入所述全局存储器。
3.根据权利要求2所述的方法,其中,所述将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中的步骤,包括:
根据所述共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
4.根据权利要求2所述的方法,其中,所述将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中的步骤,包括:
将所述矩阵块进行转置,以将经转置的矩阵块拷贝到所述共享存储器中。
5.一种提高图形处理单元的矩阵乘计算性能的装置,其特征在于,包括:
矩阵乘计算模块,所述矩阵乘计算模块设置成:采用图形处理单元的共享存储器拷贝在图形处理单元的全局存储器中的两个矩阵中的每个矩阵中的相应矩阵块,以进行矩阵乘计算,直到在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算为止;
乘积写入模块,所述乘积写入模块设置成:当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将矩阵块的相应元素位置的乘积写入所述图形处理单元的全局存储器。
6.根据权利要求5所述的装置,其中,所述矩阵乘计算模块包括:
矩阵块拷贝子模块,所述矩阵块拷贝子模块设置成:将进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块拷贝到共享存储器中,其中,每个矩阵块包括第一数量的元素;
矩阵乘计算子模块,所述矩阵乘计算子模块设置成:采用第一数量的线程分别按照矩阵块的元素位置对拷贝到共享存储器中的每个矩阵中的对应的元素进行矩阵乘计算,以得到矩阵块的相应元素位置的乘积;以及
寄存器写入子模块,所述寄存器写入子模块设置成:将所得到的矩阵块的相应元素位置的乘积写入寄存器;
所述乘积写入模块设置成:当在所述图形处理单元的全局存储器中的两个矩阵中的所有矩阵块均已进行矩阵乘计算的时候,将在所述寄存器中写入的矩阵块的相应元素位置的乘积写入所述全局存储器。
7.根据权利要求6所述的装置,其中,所述矩阵块拷贝子模块设置成:根据所述共享存储器的存储空间,确定进行矩阵乘计算的两个矩阵中的每个矩阵中的相应的矩阵块中的元素的数量。
8.根据权利要求6所述的装置,其中,所述矩阵块拷贝子模块设置成:将所述矩阵块进行转置,以将经转置的矩阵块拷贝到所述共享存储器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710891317.2A CN107622037A (zh) | 2017-09-27 | 2017-09-27 | 一种提高图形处理单元的矩阵乘计算性能的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710891317.2A CN107622037A (zh) | 2017-09-27 | 2017-09-27 | 一种提高图形处理单元的矩阵乘计算性能的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107622037A true CN107622037A (zh) | 2018-01-23 |
Family
ID=61091088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710891317.2A Pending CN107622037A (zh) | 2017-09-27 | 2017-09-27 | 一种提高图形处理单元的矩阵乘计算性能的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107622037A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886398A (zh) * | 2019-01-03 | 2019-06-14 | 曾集伟 | 神经网络矩阵乘法运算方法及相关产品 |
WO2020091848A1 (en) * | 2018-10-31 | 2020-05-07 | Advanced Micro Devices, Inc. | Matrix multiplier with submatrix sequencing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567283A (zh) * | 2011-12-08 | 2012-07-11 | 清华大学 | 一种利用gpu对小矩阵求逆的方法 |
-
2017
- 2017-09-27 CN CN201710891317.2A patent/CN107622037A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567283A (zh) * | 2011-12-08 | 2012-07-11 | 清华大学 | 一种利用gpu对小矩阵求逆的方法 |
Non-Patent Citations (2)
Title |
---|
尹孟嘉等: "GPU矩阵乘法的性能定量分析模型", 《计算机科学》 * |
林舒晞等: "矩阵乘法的GPU实现", 《科技传播》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020091848A1 (en) * | 2018-10-31 | 2020-05-07 | Advanced Micro Devices, Inc. | Matrix multiplier with submatrix sequencing |
US11093580B2 (en) | 2018-10-31 | 2021-08-17 | Advanced Micro Devices, Inc. | Matrix multiplier with submatrix sequencing |
CN109886398A (zh) * | 2019-01-03 | 2019-06-14 | 曾集伟 | 神经网络矩阵乘法运算方法及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475542B2 (en) | Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences | |
US11568258B2 (en) | Operation method | |
US11557022B2 (en) | Neural network system with temporal feedback for denoising of rendered sequences | |
US20180260709A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
US20190295228A1 (en) | Image in-painting for irregular holes using partial convolutions | |
JP6771018B2 (ja) | 二次元配列プロセッサの性能向上 | |
US11620521B2 (en) | Smoothing regularization for a generative neural network | |
US11328173B2 (en) | Switchable propagation neural network | |
CN108122234A (zh) | 卷积神经网络训练及视频处理方法、装置和电子设备 | |
CN106023091B (zh) | 基于图形处理器的图像实时去雾方法 | |
CN116541647A (zh) | 运算加速器、处理方法及相关设备 | |
CN111465943B (zh) | 一种集成电路和用于神经网络处理的方法 | |
US20190095791A1 (en) | Learning affinity via a spatial propagation neural network | |
US11775832B2 (en) | Device and method for artificial neural network operation | |
CN115136115A (zh) | 使用共享便笺式存储器的向量简化 | |
US8570324B2 (en) | Method for watertight evaluation of an approximate catmull-clark surface | |
CN107622037A (zh) | 一种提高图形处理单元的矩阵乘计算性能的方法和装置 | |
US11605001B2 (en) | Weight demodulation for a generative neural network | |
CN109726798A (zh) | 一种数据处理方法及装置 | |
CN114298329A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN112348182A (zh) | 一种神经网络maxout层计算装置 | |
CN111062473B (zh) | 神经网络模型中的数据计算方法、图像处理方法及装置 | |
CN103955443A (zh) | 一种基于gpu加速的蚁群算法优化方法 | |
CN107992821B (zh) | 一种图像识别方法及*** | |
WO2020107886A1 (en) | Loading apparatus and method for convolution with stride or dilation of 2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180123 |