CN116107636A - 一种硬件加速方法、装置、存储介质及电子设备 - Google Patents
一种硬件加速方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116107636A CN116107636A CN202310363658.8A CN202310363658A CN116107636A CN 116107636 A CN116107636 A CN 116107636A CN 202310363658 A CN202310363658 A CN 202310363658A CN 116107636 A CN116107636 A CN 116107636A
- Authority
- CN
- China
- Prior art keywords
- matrix
- layout
- candidate
- sample matrix
- sample
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本说明书公开了一种硬件加速方法、装置、存储介质及电子设备。在采用本说明书提供的硬件加速方法对目标硬件的矩阵乘法运算进行优化时,可根据样本矩阵的原始布局,也就是原始维度和原始大小确定出样本矩阵的各候选布局,并确定出目标硬件在采用各候选布局的样本矩阵进行矩阵运算时的运算时间,根据运算时间确定出满足指定条件的候选布局,作为目标硬件在采用布局为原始维度与原始大小的矩阵执行矩阵乘法时的目标布局。通过本方法能够找到每种不同原始布局的矩阵与目标硬件之间的亲和程度最高的目标布局,使目标硬件在采用目标布局的矩阵执行矩阵乘法运算时消耗的时间减少,效率提升。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种硬件加速方法、装置、存储介质及电子设备。
背景技术
在各领域的开发与应用中,硬件都是不可或缺的一部分。随着人工智能技术的发展与普及,目前,大部分硬件都具有计算功能,能够根据被设定好的功能执行相应的运算。
在硬件执行的各种运算中,矩阵乘法是最常见的运算之一。但是,矩阵乘法本身就是一种复杂度较高的运算,同时,硬件本身的性能也存在瓶颈,这导致许多硬件在处理矩阵乘法时速度较慢。
为解决上述问题,本说明书提供一种能够提高硬件在执行矩阵乘法时的计算速度的硬件加速方法。
发明内容
本说明书提供一种硬件加速方法、装置、存储介质及电子设备,以至少部分地解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种硬件加速方法,包括:
获取目标硬件用于执行矩阵乘法的样本矩阵;
确定所述样本矩阵的原始维度与原始大小;
根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;
针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;
根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,具体包括:
根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;
根据所述元素数量,确定所述样本矩阵的候选布局。
可选地,根据所述元素数量,确定所述样本矩阵的候选布局,具体包括:
根据所述元素数量,确定积为所述元素数量的候选因式;
根据所述候选因式中的因子,确定所述样本矩阵的候选布局。
可选地,所述样本矩阵包括第一样本矩阵和第二样本矩阵;
根据所述元素数量,确定所述样本矩阵的候选布局,具体包括:
根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
可选地,根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局,具体包括:
在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,根据所述运算时间,选择满足指定条件的候选布局,具体包括:
针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;
在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述方法还包括:
接收待计算矩阵,并确定所述待计算矩阵的维度和大小;
当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;
采用所述待计算矩阵执行矩阵乘法。
本说明书提供的一种硬件加速装置,所述装置包括:
获取模块,用于获取目标硬件在执行矩阵乘法时的样本矩阵;
原始确定模块,用于确定所述样本矩阵的原始维度与原始大小;
布局确定模块,用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;
时间确定模块,用于针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;
选择模块,用于根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述布局确定模块,具体用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;根据所述元素数量,确定所述样本矩阵的候选布局。
可选地,所述布局确定模块,具体用于根据所述元素数量,确定积为所述元素数量的候选因式;根据所述候选因式中的因子,确定所述样本矩阵的候选布局。
可选地,所述样本矩阵包括第一样本矩阵和第二样本矩阵;
所述布局确定模块,具体用于根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
可选地,所述选择模块,具体用于在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述选择模块,具体用于针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述装置还包括计算模块,具体用于接收待计算矩阵,并确定所述待计算矩阵的维度和大小;当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;采用所述待计算矩阵执行矩阵乘法。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述硬件加速方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述硬件加速方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的硬件加速方法中,获取目标硬件用于执行矩阵乘法的样本矩阵;确定所述样本矩阵的原始维度与原始大小;根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
在采用本说明书提供的硬件加速方法对目标硬件的矩阵乘法运算进行优化时,可根据样本矩阵的原始布局,也就是原始维度和原始大小确定出样本矩阵的各候选布局,并确定出目标硬件在采用各候选布局的样本矩阵进行矩阵运算时的运算时间,根据运算时间确定出满足指定条件的候选布局,作为目标硬件在采用布局为原始维度与原始大小的矩阵执行矩阵乘法时的目标布局。通过本方法能够找到每种不同原始布局的矩阵与目标硬件之间的亲和程度最高的目标布局,使目标硬件在采用目标布局的矩阵执行矩阵乘法运算时消耗的时间减少,效率提升。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种硬件加速方法的流程示意图;
图2为本说明书中一种矩阵乘法运算的过程示意图;
图3为本说明书中一种存储运算时间的图数据的示意图;
图4为本说明书提供的一种硬件加速装置的示意图;
图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
对于具有计算功能的硬件来说,矩阵计算是一种复杂度较高的运算。在矩阵计算中,涉及到的元素数量通常较大,且矩阵计算的计算规则较为复杂,因此通常情况下,硬件在实现矩阵计算上所耗费的时间往往较长。另一方面,由于不同硬件的规格、参数等条件不同,同一个硬件对于不同矩阵的亲和程度不同,这也导致了硬件部分情况下处理矩阵乘法时效率较低。
为解决上述技术问题,本说明书提出了一种能够提高硬件在执行矩阵乘法时的效率的硬件加速方法。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种硬件加速方法的流程示意图,具体包括以下步骤:
S100:获取目标硬件用于执行矩阵乘法的样本矩阵。
本说明书所提供的硬件加速方法中的所有步骤均可由任何具有计算功能的电子设备实现,例如终端、服务器等设备。
本说明书所提供的硬件加速方法主要应用于对硬件执行矩阵乘法的过程进行加速。需要说明的是,本方法并非是在实际应用时使用,而是在硬件实际执行矩阵计算前使用。换句话说,本方法相当于对硬件进行预处理,调整硬件在计算矩阵乘法时的相关设置。
另外,本说明书所提供的硬件加速方法并不仅局限于硬件对二维矩阵的矩阵乘法运算,对于更高维的矩阵的乘法运算也同样适用。
在此步骤中,可获取目标硬件用于执行矩阵乘法的样本矩阵。其中,样本矩阵可以是能够实现矩阵乘法的任意矩阵。
S102:确定所述样本矩阵的原始维度与原始大小。
在步骤S100中获取到样本矩阵后,可在本步骤中确定出样本矩阵的原始维度和原始大小。其中,一个矩阵的维度可以指该矩阵中包含的维数,例如二维矩阵的维度可以是2,四维矩阵的维度可以是4,七维矩阵的维度可以是7等;一个矩阵的大小可以指该矩阵中每一个维度的长度,例如,假设存在一个三维矩阵,其第一维度的长度为3,第二维度的长度为4,第三维度的长度为5,那么该矩阵的大小可以用(3,4,5)来表示,或通俗地说,可将该矩阵表示为一个3×4×5的矩阵。
一个矩阵的维度和大小可共同组成该矩阵的布局,即,矩阵的布局包括矩阵的维度和矩阵的大小。沿用上例,假设上例中的矩阵为P,那么矩阵P可表示为P=(3;3,4,5)。该式中,分号前的内容代表矩阵的维度,分号后的内容代表矩阵的大小。
在此步骤中,可确定出样本矩阵的原始维度和原始大小,用于后续步骤中。
S104:根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变。
在此步骤中,可根据步骤S102中确定出的样本矩阵的原始维度和原始大小,确定出样本矩阵的各候选布局。
对于一个硬件来说,当其规格、参数、配置等固有条件不发生改变时,其对不同布局的矩阵的亲和程度会不同。而通常情况下,硬件和矩阵的亲和程度越高,其在执行矩阵乘法时的速度就越快。因此,在执行矩阵乘法时,如果能够采用和硬件亲和程度较高的矩阵布局,硬件的计算速度就能够相对较快。
本领域技术人员应当明白,在执行矩阵乘法时,两个矩阵应满足特定的规则才能够相乘。通常来说,首先应保证相乘的矩阵的维度相同;其次,二维矩阵相乘时,应保证第一个矩阵的列数与第二个矩阵的行数相等,也就是第一个矩阵的第二个维度的大小与第二个矩阵的第一个维度的大小相等;更高维度的矩阵相乘时,可当作多个二维矩阵分别对位相乘,应保证最底层的两维满足二位矩阵乘法的规则。
而对于两个满足二维矩阵乘法规则的矩阵,在仅改变矩阵的布局,不改变矩阵中元素数量与元素值的情况下,两个矩阵可能依旧能够实现相乘。以图2为例进行说明,如图2所示,图2中给出了两组矩阵乘法,其中,图2上方展示的矩阵乘法为A×B=C,图2下方展示的矩阵乘法为A’×B’=D,矩阵A’,B’,分别是由矩阵A、B改变布局后得到的。
矩阵A(3×4)和矩阵B(4×2)相乘,可以得到矩阵C(3×2)。矩阵A经过布局变换后得到矩阵A’(6×2),矩阵B经过布局变换后得到B’(2×4),矩阵A’和矩阵B’相乘可以得到矩阵D(6×4)。
可以看出,在上述实施例中,矩阵A、B在改变布局后相乘得到的结果发生了改变,由矩阵C变成了矩阵D。但是,这是在基本规则下人为计算时得到的结果。不难想到,硬件中的计算是通过代码实现的,在硬件进行计算时,只要计算结果部分的代码不发生改变,即使改变了矩阵的布局,依然能够得到正确的结果。
仍以图2为例,在图2中,矩阵C中的元素C11是矩阵A中的第一行元素与矩阵B中的第一列元素对位相乘后相加得到的,即C11= A11×B11+ A12×B21+ A13×B31+ A14×B41。不难想到,上述计算实际上包含了“乘”和“加”两个不同的运算过程,且存在先后顺序,即先“乘”后“加”。也就是说,在实现矩阵运算的底端代码层中,完全可以将负责乘法和加法代码分开布置。即,可将上述公式转化为A11×B11=T1, A12×B21= T2, A13×B31= T3, A14×B41= T4;以及C11= T1+ T2+ T3+ T4这两部分。在对位相乘的过程中,先保留每次乘法运算的结果,在最后相加得到最终结果。
由此,可以得出,在对相乘的两个矩阵进行布局变化时,只要确保在乘法运算的过程中,对位相乘的数与原本矩阵中对位相乘的数相同,就能够得到同样的结果。如图2所示,当矩阵A变为A’,B变为B’后,A’与B’相乘得到的矩阵D中,D11= A11×B11+ A12B21,D43= A13×B31+ A14×B41。可以看出,在运算的过程中,依然可以在乘法运算时得到A11×B11=T1, A12×B21= T2, A13×B31= T3, A14×B41= T4。因此,只要在加法运算中仍采用C11= T1+ T2+ T3+ T4,便能够得到C11的值。同样的,矩阵C中的其他元素也可通过相同的方式得到。
由于相乘的两个矩阵A和B在未发生任何布局变化前的维度与大小都是已知的,即使不用进行计算,矩阵C的维度和大小也可以直接确定出来。从计算的过程上来看,布局变化可以看作是改变了矩阵计算过程中各乘法运算的先后顺序,加法运算实际上未发生改变。因此,在实际应用过程中,即使改变了用于相乘的矩阵A和B的布局,最终也可以得到原本的矩阵C,而无需计算出新的矩阵D。
基于上述思路,可在此步骤中根据样本矩阵的原始维度和原始大小,确定样本矩阵的所有候选布局。每个候选布局下,样本矩阵的维度和大小都可以是不同的,但需要注意的是,无论布局发生何种变化,样本矩阵中的包含的元素数量与各元素的值是不会发生改变的。
S106:针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间。
实验证明,在硬件不发生变化的情况下,不同布局的矩阵与硬件之间的亲和程度不同。目前,亲和程度本身较难表示,因此通常采用硬件在执行矩阵乘法时所消耗的时间来反映亲和程度,对于一个矩阵的不同布局,硬件在计算时消耗的时间越少,表明硬件的计算越快,亲和程度越高。
基于此,可在此步骤中,确定出目标硬件在采用样本矩阵在各候选布局下执行矩阵乘法时的运算时间,以此来反映目标硬件与不同的候选布局之间的亲和程度。
S108:根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
在此步骤中,可根据步骤S106中确定出的目标硬件在采用各候选布局下的样本矩阵执行矩阵乘法的运算时间,选择出满足指定条件的候选布局,作为在实际应用时,目标硬件采用布局为原始维度与原始大小的矩阵执行矩阵乘法时的目标布局。
为了达到最好的加速效果,在此步骤中希望确定出的目标布局是样本矩阵对目标硬件亲和程度最高的布局。因此,指定条件可以是运算时间最小。具体的,可在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
额外的,还可采用用于表征亲和程度的评价值来对候选布局进行评估。具体的,可针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
评价值用于表征一个候选布局与目标硬件之间的亲和程度的大小,评价值越高,亲和程度越高。评价值的确定方式可以存在多种,只需要确保评价值与运算时间呈负相关即可,本说明书对此不做具体限制。
通过上述方式,即可确定出一个目标布局,当后续使用过程中,再次遇到与样本矩阵的原始布局相同的矩阵时,也就是原始维度与原始大小的矩阵时,可直接采用目标布局进行计算。
具体的,可接收待计算矩阵,并确定所述待计算矩阵的维度和大小;当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;采用所述待计算矩阵执行矩阵乘法。
值得一提的是,在本说明书提供硬件加速方法中,确定出的目标布局仅适用于与相应的样本矩阵的原始布局相同的矩阵。如果遇到原始布局与样本矩阵不同的其它矩阵,则需要寻找或采用其它的目标布局。换句话说,针对待计算矩阵的原始布局,如果已经确定过该原始布局的样本矩阵对应的目标布局,那么可直接采用目标布局进行矩阵乘法运算;如果未曾确定过该原始布局的样本矩阵对应的目标布局,那么可将待计算矩阵作为样本矩阵,确定该种原始布局的样本矩阵对应的目标布局。
在采用本说明书提供的硬件加速方法对目标硬件的矩阵乘法运算进行优化时,可根据样本矩阵的原始布局,也就是原始维度和原始大小确定出样本矩阵的各候选布局,并确定出目标硬件在采用各候选布局的样本矩阵进行矩阵运算时的运算时间,根据运算时间确定出满足指定条件的候选布局,作为目标硬件在采用布局为原始维度与原始大小的矩阵执行矩阵乘法时的目标布局。通过本方法能够找到每种不同原始布局的矩阵与目标硬件之间的亲和程度最高的目标布局,使目标硬件在采用目标布局的矩阵执行矩阵乘法运算时消耗的时间减少,效率提升。
实际上,针对一个样本矩阵,无论如何改变该样本矩阵的布局,其包含的元素始终不会变化。而可以想到的,如果对于两个原始布局不同的样本矩阵,如果二者所包含的元素数量相同,那么这两个样本矩阵的候选布局很可能相同。基于上述思想,可更优的,根据一个样本矩阵中包含的元素数量来确定样本矩阵的候选布局。
具体的,可根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;根据所述元素数量,确定所述样本矩阵的候选布局。
可以想到的,矩阵中的元素数量可根据矩阵的维度与大小计算得到,即各维度的大小的乘积便是元素数量,无论矩阵的维度和大小如何变化,都遵循着这一规则。因此实际上,在确定了样本矩阵的元素数量后,确定样本矩阵的候选布局的过程可以看作为,确定积为元素数量的因式的过程。具体的,可根据所述元素数量,确定积为所述元素数量的候选因式;根据所述候选因式中的因子,确定所述样本矩阵的候选布局。其中,因式为由整数组成的乘法算式,因子为因式中的每一项乘数。对于一个因式,其因子的个数可作为维度,每一个因子的数值可作为对应维度的大小,确定出候选布局。
进一步的,在上述思想下,可以想到,每当接收到一个新的待计算矩阵时,可直接根据待计算矩阵的维度和大小确定出待计算矩阵包含的元素数量,并根据元素数量来确定目标矩阵采用待计算矩阵执行矩阵乘法时的目标布局。换句话说,原始布局不同的待计算矩阵,当其包含的元素数量相同时,目标矩阵也可能相同。
另外,不难想到,在执行矩阵乘法时,至少需要两个矩阵进行相乘。因此,样本矩阵可包括第一样本矩阵和第二样本矩阵。由于在改变布局的过程中,第一样本矩阵和第二样本矩阵之间需要满足矩阵乘法的基本规则,因此,每次改变布局时,可同时改变第一样本矩阵的布局和第二样本矩阵的布局。具体的,可根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
由于第一样本矩阵和第二样本矩阵需保持满足矩阵乘法规则的状态,因此,可同时改变第一样本矩阵和第二样本矩阵的布局,作为一个候选布局对。候选布局对中包含第一样本矩阵的第一候选布局,以及第二样本矩阵的第二候选布局。其中,第一样本布局和第二样本布局匹配,指第一样本布局和第二样本布局之间满足矩阵乘法规则。
额外的,在根据运算时间确定满足指定条件的候选布局时,需要遍历所有候选布局的运算时间。其中,遍历的方法可存在多种,本说明书在此提供一种实施例以供参考。
具体的,可将各候选布局的运算时间以图的形式存储,在遍历时,通过广度优先的方式,完成所有对运算时间的遍历。如图3所示,假设样本矩阵存在10种不同的候选布局,其对应的运算时间分别用R1~R10来表示。在遍历时,可从任一节点开始,以广度优先的规则进行遍历。假设从节点R1开始遍历,那么当查询过R1后,会陆续查询R1周围的节点R2、R3、R4、R5;随后,由于R2、R3、R4周围不存在节点,因此可直接查询R5周围的节点R6、R7、R8;同样,后续可继续查询R8周围的节点R9、R10。当所有节点遍历完成后,可确定出运算时间最小的节点,将其对应的候选布局作为目标布局。
以上是本说明书提供的硬件加速方法,基于同样的思路,本说明书还提供了相应的硬件加速装置,如图4所示。
图4为本说明书提供的一种硬件加速装置示意图,具体包括:
获取模块200,用于获取目标硬件在执行矩阵乘法时的样本矩阵;
原始确定模块202,用于确定所述样本矩阵的原始维度与原始大小;
布局确定模块204,用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;
时间确定模块206,用于针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;
选择模块208,用于根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述布局确定模块204,具体用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;根据所述元素数量,确定所述样本矩阵的候选布局。
可选地,所述布局确定模块204,具体用于根据所述元素数量,确定积为所述元素数量的候选因式;根据所述候选因式中的因子,确定所述样本矩阵的候选布局。
可选地,所述样本矩阵包括第一样本矩阵和第二样本矩阵;
所述布局确定模块204,具体用于根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
可选地,所述选择模块208,具体用于在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述选择模块208,具体用于针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
可选地,所述装置还包括计算模块210,具体用于接收待计算矩阵,并确定所述待计算矩阵的维度和大小;当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;采用所述待计算矩阵执行矩阵乘法。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的硬件加速方法。
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的硬件加速方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种硬件加速方法,其特征在于,包括:
获取目标硬件用于执行矩阵乘法的样本矩阵;
确定所述样本矩阵的原始维度与原始大小;
根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;
针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;
根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
2.如权利要求1所述的方法,其特征在于,根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,具体包括:
根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;
根据所述元素数量,确定所述样本矩阵的候选布局。
3.如权利要求2所述的方法,其特征在于,根据所述元素数量,确定所述样本矩阵的候选布局,具体包括:
根据所述元素数量,确定积为所述元素数量的候选因式;
根据所述候选因式中的因子,确定所述样本矩阵的候选布局。
4.如权利要求2所述的方法,其特征在于,所述样本矩阵包括第一样本矩阵和第二样本矩阵;
根据所述元素数量,确定所述样本矩阵的候选布局,具体包括:
根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
5.如权利要求1所述的方法,其特征在于,根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局,具体包括:
在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
6.如权利要求1所述的方法,其特征在于,根据所述运算时间,选择满足指定条件的候选布局,具体包括:
针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;
在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收待计算矩阵,并确定所述待计算矩阵的维度和大小;
当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;
采用所述待计算矩阵执行矩阵乘法。
8.一种硬件加速装置,其特征在于,包括:
获取模块,用于获取目标硬件在执行矩阵乘法时的样本矩阵;
原始确定模块,用于确定所述样本矩阵的原始维度与原始大小;
布局确定模块,用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵的候选布局,其中,样本矩阵在每个候选布局下的维度和大小不同,且在每个候选布局下样本矩阵中包含的元素数量不变;
时间确定模块,用于针对所述样本矩阵的每个候选布局,确定所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间;
选择模块,用于根据所述运算时间,选择满足指定条件的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
9.如权利要求8所述的装置,其特征在于,所述布局确定模块,具体用于根据所述样本矩阵的原始维度与原始大小,确定所述样本矩阵包含的元素数量;根据所述元素数量,确定所述样本矩阵的候选布局。
10.如权利要求9所述的装置,其特征在于,所述布局确定模块,具体用于根据所述元素数量,确定积为所述元素数量的候选因式;根据所述候选因式中的因子,确定所述样本矩阵的候选布局。
11.如权利要求9所述的装置,其特征在于,所述样本矩阵包括第一样本矩阵和第二样本矩阵;
所述布局确定模块,具体用于根据所述第一样本矩阵的元素数量和所述第二样本矩阵的元素数量,确定候选布局对,其中,所述候选布局对中包含所述第一样本矩阵的第一候选布局和所述第二样本矩阵第二候选布局,每个候选布局对中的第一候选布局与第二候选布局相匹配。
12.如权利要求8所述的装置,其特征在于,所述选择模块,具体用于在各候选布局中,选择所述目标硬件在采用所述样本矩阵执行矩阵乘法时的运算时间最小的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
13.如权利要求8所述的装置,其特征在于,所述选择模块,具体用于针对每个候选布局,根据所述目标硬件采用所述样本矩阵在该候选布局下执行矩阵乘法时的运算时间,确定该候选布局的评价值,其中,所述评价值与所述运算时间呈负相关;在各候选布局中选择评价值最高的候选布局,作为所述目标硬件采用布局为所述原始维度与所述原始大小的矩阵执行矩阵乘法时的目标布局。
14.如权利要求8所述的装置,其特征在于,所述装置还包括计算模块,具体用于接收待计算矩阵,并确定所述待计算矩阵的维度和大小;当所述待计算矩阵的维度为所述原始维度,且所述待计算矩阵的大小为所述原始大小时,将所述待计算矩阵的布局调整为所述目标布局;采用所述待计算矩阵执行矩阵乘法。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310363658.8A CN116107636B (zh) | 2023-04-06 | 2023-04-06 | 一种硬件加速方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310363658.8A CN116107636B (zh) | 2023-04-06 | 2023-04-06 | 一种硬件加速方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116107636A true CN116107636A (zh) | 2023-05-12 |
CN116107636B CN116107636B (zh) | 2023-06-27 |
Family
ID=86267576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310363658.8A Active CN116107636B (zh) | 2023-04-06 | 2023-04-06 | 一种硬件加速方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116107636B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110731078A (zh) * | 2019-09-10 | 2020-01-24 | 深圳市汇顶科技股份有限公司 | 曝光时间计算方法、装置及存储介质 |
CN111507430A (zh) * | 2020-06-17 | 2020-08-07 | 同盾控股有限公司 | 基于矩阵乘法的特征编码方法、装置、设备及介质 |
CN111581467A (zh) * | 2020-05-15 | 2020-08-25 | 北京交通大学 | 基于子空间表示和全局消歧方法的偏标记学习方法 |
CN112328962A (zh) * | 2020-11-27 | 2021-02-05 | 深圳致星科技有限公司 | 矩阵运算优化方法、装置、设备和可读存储介质 |
CN113220270A (zh) * | 2020-01-21 | 2021-08-06 | 华为技术有限公司 | 一种生成向量化程序的方法及装置 |
US20210374208A1 (en) * | 2020-05-28 | 2021-12-02 | Hewlett Packard Enterprise Development Lp | Distributing matrix multiplication processing among processing nodes |
CN114201729A (zh) * | 2021-12-01 | 2022-03-18 | 彩讯科技股份有限公司 | 一种矩阵运算方式的选择方法、装置、设备以及存储介质 |
CN114565772A (zh) * | 2022-02-14 | 2022-05-31 | 清华大学 | 集合特征提取方法、装置、电子设备及存储介质 |
CN114651249A (zh) * | 2019-12-16 | 2022-06-21 | 英特尔公司 | 在没有维度填充的情况下最大限度地减少由矩阵乘法和卷积内核中的不兼容主导维度引起的缓存冲突的负面影响的技术 |
CN114741908A (zh) * | 2022-02-08 | 2022-07-12 | 南京航空航天大学 | 基于聚类和全局空间距离分布系数的混合传感器配置方法 |
CN115021689A (zh) * | 2022-08-09 | 2022-09-06 | 北京力通通信有限公司 | 数字预失真算法里增强运算稳定性的方法 |
CN115859011A (zh) * | 2022-11-18 | 2023-03-28 | 上海天数智芯半导体有限公司 | 矩阵运算方法、装置及单元、电子设备 |
-
2023
- 2023-04-06 CN CN202310363658.8A patent/CN116107636B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110731078A (zh) * | 2019-09-10 | 2020-01-24 | 深圳市汇顶科技股份有限公司 | 曝光时间计算方法、装置及存储介质 |
CN114651249A (zh) * | 2019-12-16 | 2022-06-21 | 英特尔公司 | 在没有维度填充的情况下最大限度地减少由矩阵乘法和卷积内核中的不兼容主导维度引起的缓存冲突的负面影响的技术 |
CN113220270A (zh) * | 2020-01-21 | 2021-08-06 | 华为技术有限公司 | 一种生成向量化程序的方法及装置 |
CN111581467A (zh) * | 2020-05-15 | 2020-08-25 | 北京交通大学 | 基于子空间表示和全局消歧方法的偏标记学习方法 |
US20210374208A1 (en) * | 2020-05-28 | 2021-12-02 | Hewlett Packard Enterprise Development Lp | Distributing matrix multiplication processing among processing nodes |
CN111507430A (zh) * | 2020-06-17 | 2020-08-07 | 同盾控股有限公司 | 基于矩阵乘法的特征编码方法、装置、设备及介质 |
CN112328962A (zh) * | 2020-11-27 | 2021-02-05 | 深圳致星科技有限公司 | 矩阵运算优化方法、装置、设备和可读存储介质 |
CN114201729A (zh) * | 2021-12-01 | 2022-03-18 | 彩讯科技股份有限公司 | 一种矩阵运算方式的选择方法、装置、设备以及存储介质 |
CN114741908A (zh) * | 2022-02-08 | 2022-07-12 | 南京航空航天大学 | 基于聚类和全局空间距离分布系数的混合传感器配置方法 |
CN114565772A (zh) * | 2022-02-14 | 2022-05-31 | 清华大学 | 集合特征提取方法、装置、电子设备及存储介质 |
CN115021689A (zh) * | 2022-08-09 | 2022-09-06 | 北京力通通信有限公司 | 数字预失真算法里增强运算稳定性的方法 |
CN115859011A (zh) * | 2022-11-18 | 2023-03-28 | 上海天数智芯半导体有限公司 | 矩阵运算方法、装置及单元、电子设备 |
Non-Patent Citations (2)
Title |
---|
SU YANG 等: ""Research and design of reconfigurable matrix multiplication over finite field in VLIW processor"", 《 2016 INTERNATIONAL CONFERENCE ON INTELLIGENT NETWORKING AND COLLABORATIVE SYSTEMS (INCOS)》 * |
钟声;侯朝焕;杨常安;陈栋;: "基于FPGA的矩阵乘法器优化设计", 电子测量技术, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN116107636B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115981870B (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN115829017B (zh) | 一种基于芯粒的数据处理的方法、装置、介质及设备 | |
CN116663618B (zh) | 一种算子优化方法、装置、存储介质及电子设备 | |
CN116306856B (zh) | 一种基于搜索的深度学习模型部署方法及装置 | |
CN117312394B (zh) | 一种数据访问方法、装置、存储介质及电子设备 | |
CN116225669B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN117635822A (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN116150563B (zh) | 一种业务执行方法、装置、存储介质及电子设备 | |
CN116107636B (zh) | 一种硬件加速方法、装置、存储介质及电子设备 | |
CN116136952B (zh) | 一种针对元器件的仿真测试方法及装置 | |
CN115543945B (zh) | 一种模型压缩的方法、装置、存储介质及电子设备 | |
CN116384505A (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN115827918A (zh) | 一种执行业务的方法、装置、存储介质及电子设备 | |
CN114676132A (zh) | 一种数据表关联方法、装置、存储介质及电子设备 | |
CN112787664B (zh) | 一种基于多时钟源的asic自动分频方法及装置 | |
CN111598219A (zh) | 一种深度可分离卷积的量化方法、装置、设备及介质 | |
CN116415103B (zh) | 一种数据处理的方法、装置、存储介质以及电子设备 | |
CN117171577B (zh) | 一种高性能算子选择的动态决策方法及装置 | |
CN117171401B (zh) | 基于分层预计算的图数据中最短路径的查询方法和装置 | |
CN115712734B (zh) | 一种基于元学习的稀疏知识图谱嵌入方法和装置 | |
CN117522669B (zh) | 一种图形处理器内存优化方法、装置、介质及设备 | |
CN116109008B (zh) | 一种业务执行的方法、装置、存储介质及电子设备 | |
CN116991388B (zh) | 一种深度学习编译器的图优化序列生成方法及装置 | |
CN110851416B (zh) | 数据存储性能分析方法和装置、宿主机确定方法和装置 | |
CN117909746A (zh) | 一种用于空间探索的代理模型的在线数据选择方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |