CN111796797B - 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 - Google Patents
一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 Download PDFInfo
- Publication number
- CN111796797B CN111796797B CN202010498697.5A CN202010498697A CN111796797B CN 111796797 B CN111796797 B CN 111796797B CN 202010498697 A CN202010498697 A CN 202010498697A CN 111796797 B CN111796797 B CN 111796797B
- Authority
- CN
- China
- Prior art keywords
- matrix
- vector
- accelerator
- vectors
- calculation
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种利用AI加速器实现环上多项式乘法计算加速的方法和装置。本方法为:1)将维度为n的被乘数向量s变换为维度为2n的向量s*;2)将被乘数向量a、新的乘数向量s*、以及累加向量e转换成AI加速器所需要的格式;3)对多组向量a、e进行合并拼接,对向量s*进行移位填充扩展,分别得到16×n的矩阵A、E,16×2n的矩阵S;4)对矩阵划分、加载到特定格式,并进行迭代计算求和,得到16×n矩阵B;然后将矩阵B按行逆序,所得的每一个行向量即为一组(a,e)与同一s的计算结果。本发明利用了AI加速器高性能的特定,增加了吞吐量,提升了计算速度。
Description
技术领域
本发明属于计算技术领域,涉及一种利用AI加速器实现环上多项式乘法计算加速的方法和装置。
背景技术
得益于人工智能的发展,与之相关的应用越来越普及。为此,一些厂商研发了他们自己的AI处理器或者加速器,如Google的TPU、英特尔的神经网络棒、特斯拉的无人驾驶汽车芯片,以及现在众多智能手机所带有的神经网络加速引擎等,为专门的业务提供强劲的性能处理能力。这些AI加速装置通常采用低精度、新颖数据流、内存内计算的架构,而且针对特定算法操作(如卷积操作)进行过优化,性能远高于一般的通用处理器,例如NVIDIATesla V100的Tensor Core可以提供125Tensor TFLOPS的算力。随着技术的发展,此类强大的算力资源必然越来越常见,且更容易获得访问。如果能够将AI加速器的算力用于除人工智能应用外的其它领域,如密码计算,那一定也会大大提升该领域的计算效率。
另一方面,量子计算机给信息安全尤其是既有密码体制安全带来了巨大的挑战。格密码,作为一种抗量子密码,被广泛认为最有希望成为下一代的公钥密码标准的密码系统。在标准格中,环上多项式乘法计算是特别耗时间的操作。因此,解决环上多项式乘法的运算速度问题,对推动格密码乃至整个信息安全有重要的研究意义与价值。
本发明针对的是环Rq=Zq[x]/(xn+1)上多项式乘(加)法计算b=as或b=as+e,其中a,s,b,e均为阶小于n-1的多项式,即n维向量。以a为例,其展开形式为其中ai为模q的整数。现在问题的关键在于AI加速器为特定设计架构,计算模式固定,很难适用于其它计算任务。例如,NVIDIA的Titan V上,Tensor Core的操作模式为D=AB+C,且D、A、B、C均为矩阵,在线程束级别上大小为16×16(或32×8)。其中,A、B的数据类型均为半精度浮点数。根据IEEE 754-2008标准,半精度浮点数类型是长度为16bit的浮点数格式,又称为binary16或half类型。
发明内容
本发明提供了一种利用AI加速器实现环上多项式乘法计算加速的方法和装置,能够充分利用AI加速器的算力资源,大幅提升计算速度。本发明适用于采用矩阵操作模式的AI加速器,如NVIDIA的Tensor Core(以下简称Tensor Core)等。
本发明的一种利用AI加速器实现环上多项式乘法计算加速方法,以b=as+e为计算目标,其步骤为:
在n维向量a、s中选择一个向量,假定选择s,将其变换成维数为2n的向量s*;
将s*拓展成2n×16的矩阵S;
对于至少一组向量a、e,将其变换得到16×n矩阵A、E;
利用AI加速器,采用矩阵乘加指令B=AS+E对矩阵S、A、E进行计算,得到计算结果矩阵B;
从矩阵B中提取各组向量的计算结果。
进一步的,以Tensor Core为例,上述方法包括以下具体步骤:
1)在n维向量a、s中选择一个向量,假定选择s,将其逆序、扩展,并用0填充成维数为2n的向量s*;
2)将a、s*、e的数据格式转换为AI加速器所需要的类型;
3)将s*按行进行移位复制并用0填充,拓展成16×2n的矩阵,并转置成2n×16的矩阵S;
4)将a按行用0进行填充;或者,当有多个a向量要与同一个s相乘时,也可以用其它的a向量填充至16行,得16×n矩阵A;
5)将e按行用0进行填充;或者,当有多个a向量要与同一个s相乘,且都加上各自的e向量时,可以用其它e向量或0填充,得16×n矩阵E;
6)将矩阵A、S、E按照16×16的片段进行划分;
7)使用CUDA WMMA API将划分好的片段加载到特定内建类型中,进行迭代,并求和;计算结果为16×n的矩阵B,B=AS+E;
8)对矩阵B按行进行逆序,则16行结果对应矩阵A的16行输入,即每一个行向量代表一组(a,e)与s运算后的结果向量,从而得到的b=as+e的计算结果。
其中,步骤7)中的内建类型是内部数据组织形式。为便于数据的控制与访问,AI加速器的待处理数据可能具有特定的组织形式,这类数据组织形式一般为专用类型。
其中,步骤7)的CUDA WMMA API中,CUDA即Compute Unified DeviceArchitecture(统一计算设备架构);WMMA即Warp Matrix Multiply Accumulate(线程束级矩阵乘加);API即Application Programming Interface(应用程序接口);
进一步的,向量a、s的各维数值均在half(半精度浮点数)的表示范围内。向量s*的获得步骤包括:将向量s逆序,然后对前n-1个元素取负并附加到逆序结果尾部,最后添加一个0,得2n维向量s*。具体地,假定原始的n维向量s为{s0,s1,…,sn-1},经过逆序、扩展,以及用0填充后得到维数为2n的新向量s*为{sn-1,sn-2,…,s0,-sn-1,-sn-2,…,-s1,0}。
进一步的,a、s*均转换为half类型,而e则转换为float类型。
进一步的,矩阵S的获得步骤包括:向量s*左移一个元素,然后在向量尾部用0填充空位,将新获得的向量放置到新行,依次操作多次,得到与计算要求相符的矩阵,并转置。具体地,s*向量依次向左移动一个元素获得一个新行,尾部用0填充空余位置;最终移动15次得到一个16×2n的矩阵S,描述过程可以见附图1。
进一步的,若有多组向量(a,e)与同一个向量s运算,则将多个向量a和向量e分别合并成矩阵A、E;若仅有一组向量(a,e)或者所得矩阵行数不对齐,则采用0补齐,分别得一个或多个对齐的矩阵A、E。具体地,对于同一个s(或者说是同一个矩阵S),多组(a,e),可以分别将多个a、e单独按照16行的方式进行拼接,不足16行的可以用0填充,获得16×n矩阵A、E。
进一步的,采用矩阵乘加计算API操纵AI加速器对矩阵S、A、E进行操作,包括将矩阵划分为更小的矩阵并加载至特定内建类型,然后进行矩阵乘加计算。例如,采用CUDAWMMA API先将矩阵按照16×16的片段加载到Tensor Core内建类型fragment(重载类类型名称,存储矩阵内容的一部分)中,然后迭代执行,遍历整个矩阵。遍历的方式:对于矩阵A,每一轮迭代都是从第一行的第一个元素开始,每隔16列取一个小矩阵片段;对于矩阵S,第一轮迭代从第一行的第一个元素开始,之后的迭代都是上一轮迭代起始位置(第一行)间隔16个元素。迭代的总次数为迭代的结果再与相应的矩阵E片段求和,得到矩阵B,描述过程可以见附图2。
进一步的,在上一步骤中求得的结果矩阵是最终结果的(行)逆序,还需要将矩阵B按行进行重排,每一个行向量即为一个计算结果,最终结果有一个或多个,即大于等于1组向量(a,e)参与了计算。
基于同一发明构思,本发明还提供一种利用AI加速器实现环上多项式乘法计算加速的装置,其包括:
向量扩展模块,用于在n维向量a、s中选择一个向量,假定选择s,将其变换成维数为2n的向量s*;
矩阵变换模块,用于将s*拓展成2n×16的矩阵S;对于至少一组向量a、e,将其变换得到16×n矩阵A、E;
AI加速器,用于采用矩阵乘加指令B=AS+E对矩阵S、A、E进行计算,得到计算结果矩阵B;
结果提取模块,用于从矩阵B中提取各组向量的计算结果。
与现有技术相比,本发明的积极效果为:
首次将AI加速器引入到密码计算加速领域。在计算环上多项式乘法时,首先将多项式按照上述方案转换为特殊的类型,并且经过一系列变形,以适应AI加速器(TensorCore等)的计算模式;这种扩展模式可以为其它AI加速器的计算任务适配提供参考思路。同时,为了充分利用Tensor Core等AI加速器的计算资源,本发明还采用了多个向量拼接成矩阵的方式,使得一次操作执行,完成多个向量组的计算。借助于AI加速器的强大性能,本发明实现的环上多项式乘法运算,可大幅提升计算速度,并同时计算多个任务,增加了吞吐量。
本发明实现的环上多项式乘法运算,可以用于基于格的后量子密码实现与加速等具体领域。基于格的后量子密码(简称格密码,一般为公钥密码体制)中,最耗时的操作往往是环上多项式乘法运算,以致于格密码的速度远低于传统的如RSA之类的公钥密码。通过对格密码中的多项式乘法运算加速,进而加速整体效率,可以推动格密码的发展与应用。
附图说明
图1为本发明中s*的变换处理示意图。
图2为本发明迭代遍历计算过程示意图。
图3为本发明提供的环上多项式乘法计算加速方法流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
本实施例的一种利用AI加速器实现环上多项式乘法的方法,在环Rq=Zq[x]/(xn+1)上多项式乘法中,原始n维参数向量a、s、e、b,以b=as+e为计算目标,其中a、s是两个乘数向量,e是累加向量;多项式系数(即向量各元素的数值),需要在AI加速器的表示范围内。
本实施例的AI加速器采用的是Titan V上的Tensor Core,输入的多项式系数值应在半精度浮点数表示范围内。根据IEEE 754-2008标准,半精度浮点数格式又称为binary16,或简称为half,其表示的最大值为65504。
本实施例的一种利用AI加速器实现环上多项式乘法计算加速的方法,其流程如图3所示,具体计算过程包括:
(a)将维度为n的乘数向量s={s0,s1,…,sn-1}逆序,得{sn-1,sn-2,…,s0},对前n-1个元素取负号并拼接到尾部,得{sn-1,sn-2,…,s0,-sn-1,-sn-2,…,-s1};然后用0补齐得维度为2n的向量s*={sn-1,sn-2,…,s0,-sn-1,-sn-2,…,-s1,0},如图1所示。
(b)使用CUDA内建函数float2half或者int2half将向量a、s*的元素类型转换为half;对于向量e,则直接乘上浮点数1.0将元素转换为浮点数类型。
(c)将s*左移一个元素,获得一个新行,用0填充尾部空位;然后移动新行,尾部依旧用0填充,重复该过程,直到获得一个16×2n的矩阵S,如图1所示。
(d)当存在多个不同的向量组(a,e)与同一个向量s运算时,可以将这些向量组分别拼接合并。在此之前,都需要按照步骤(b)进行格式转换。考虑到Tensor Core的对齐需要,将它们拼接为16×n的矩阵A、E。
(e)使用CUDA WMMA API。用load_matrix_sync函数将矩阵分成16×16的片段加载到模板类型fragment中。对于所有初始值均为0的e向量,调用fill_fragment函数,用0进行初始化填充。调用mma_sync函数进行矩阵乘加运算,并迭代本步骤。迭代方式如图2所示,包括:对于矩阵A,每一轮迭代都是从第一行的第一个元素开始,每隔16列取一个小矩阵片段;对于矩阵S,第一轮迭代从第一行的第一个元素开始,之后的迭代都是上一轮迭代起始位置(第一行)间隔16个元素。迭代的总次数为迭代的结果再与相应的矩阵E片段求和,得到矩阵B。
(f)步骤(e)之后获得的矩阵B需要经过行逆序,之后,每一个行向量代表一组(a,e)与s运算后的结果向量。原结果向量数据类型为float,在结果导出时还需要对系数取模并转换为所需要的格式。
示例:假设环Rq=Zq[x]/(xn+1),为方便计算,取n=4,同时假定AI加速器的输入要求2×2对齐。向量表示为a={a0,a1,a2,a3}表示多项式a(x)=a0+a1x+a2x2+a3x3,a0,a1,a2,a3均为模q的整数。类似的,假设多项式s(x)、e(x)由向量s={s0,s1,s2,s3}、e={e0,e1,e2,e3}表示。那么环上多项式运算,可以用向量形式表示。
现求环上多项式乘加运算b=as+e:假定b*=as,由环的特性xn≡-1mod(xn+1),于是将b*展开得:
另一方面,按照以上过程,
1)首先获得s*={s3,s2,s1,s0,-s3,-s2,-s1,0},然后对参与计算的向量转换格式;
2)将s*扩展为8×2矩阵S:
3)将多个向量组(a,e)分别合拼、补齐成如下矩阵A、E(注意,不同的上标表示不同的向量):
4)使用矩阵乘加指令将矩阵划分为2×2小片段,并进行迭代计算,获得矩阵B:
5)将结果B按行逆序,并提取每一组(a,e)与s的计算结果:
在本发明的测试实验中,n=512,实验性能可以达到每秒3048万次,而传统CPU实现方案性能在百万级别。
基于同一发明构思,本发明的另一个实施例提供一种利用AI加速器实现环上多项式乘法计算加速的装置,其包括:
向量扩展模块,用于在n维向量a、s中选择一个向量,假定选择s,将其变换成维数为2n的向量s*;
矩阵变换模块,用于将s*拓展成2n×16的矩阵S;对于至少一组向量a、e,将其变换得到16×n矩阵A、E;
AI加速器,用于采用矩阵乘加指令B=AS+E对矩阵S、A、E进行计算,得到计算结果矩阵B;
结果提取模块,用于从矩阵B中提取各组向量的计算结果。
其中各模块的具体实施过程参见前文对本发明方法的描述。
基于同一发明构思,本发明的另一个实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一个实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上公开的本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例和附图所公开的内容,本发明的保护范围以权利要求书界定的范围为准。
Claims (10)
1.一种利用AI加速器实现环上多项式乘法计算加速的方法,其步骤包括:
在n维向量a、s中选择s,将其变换成维数为2n的向量s*;
将s*拓展成2n×16的矩阵S;
对于至少一组向量a、e,将其变换得到16×n矩阵A、E;
利用AI加速器,采用矩阵乘加指令B=AS+E对矩阵S、A、E进行计算,得到计算结果矩阵B;所述AI加速器为采用矩阵操作模式的AI加速器;
从矩阵B中提取各组向量的计算结果。
2.如权利要求1所述的方法,其特征在于,向量s*的获得步骤包括:将向量s逆序,然后对前n-1个元素取负并附加到逆序结果尾部,最后添加一个0,得2n维向量s*。
3.如权利要求2所述的方法,其特征在于,矩阵S的获得步骤包括:向量s*左移一个元素,然后在向量尾部用0填充空位,将新获得的向量放置到新行,依次操作多次,得到与计算要求相符的矩阵,并转置。
4.如权利要求3所述的方法,其特征在于,若有多组向量(a,e)与同一个向量s运算,则将多个向量a和向量e分别合并成矩阵A、E;若仅有一组向量(a,e)或者所得矩阵行数不对齐,则采用0补齐,分别得一个或多个对齐的矩阵A、E。
5.如权利要求4所述的方法,其特征在于,采用矩阵乘加计算API操纵AI加速器对矩阵S、A、E进行操作,包括将矩阵划分为更小的矩阵并加载至特定内建类型,然后进行矩阵乘加计算。
6.如权利要求5所述的方法,其特征在于,对获得的矩阵B按行进行逆序重排,每一个行向量即为一个计算结果,最终结果有一个或多个,即大于等于1组向量(a,e)参与了计算。
7.如权利要求1所述的方法,其特征在于,所述AI加速器为Tensor Core。
8.一种采用权利要求1~7中任一权利要求所述方法的利用AI加速器实现环上多项式乘法计算加速的装置,其特征在于,包括:
向量扩展模块,用于在n维向量a、s中选择s,将其变换成维数为2n的向量s*;
矩阵变换模块,用于将s*拓展成2n×16的矩阵S;对于至少一组向量a、e,将其变换得到16×n矩阵A、E;
AI加速器,用于采用矩阵乘加指令B=AS+E对矩阵S、A、E进行计算,得到计算结果矩阵B;所述AI加速器为采用矩阵操作模式的AI加速器;
结果提取模块,用于从矩阵B中提取各组向量的计算结果。
9.一种电子装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一权利要求所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010498697.5A CN111796797B (zh) | 2020-06-04 | 2020-06-04 | 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010498697.5A CN111796797B (zh) | 2020-06-04 | 2020-06-04 | 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796797A CN111796797A (zh) | 2020-10-20 |
CN111796797B true CN111796797B (zh) | 2023-09-26 |
Family
ID=72803012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010498697.5A Active CN111796797B (zh) | 2020-06-04 | 2020-06-04 | 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796797B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487750B (zh) * | 2020-11-30 | 2023-06-16 | 西安微电子技术研究所 | 一种基于存内计算的卷积加速计算系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930128A (zh) * | 2016-05-17 | 2016-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种利用浮点数计算指令实现大整数乘法计算加速方法 |
CN110519058A (zh) * | 2019-07-10 | 2019-11-29 | 中国科学院信息工程研究所 | 一种对于基于格的公钥加密算法的加速方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9355068B2 (en) * | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
JP6963277B2 (ja) * | 2017-10-24 | 2021-11-05 | 日本電信電話株式会社 | 変換装置、判定装置、および計算装置 |
-
2020
- 2020-06-04 CN CN202010498697.5A patent/CN111796797B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930128A (zh) * | 2016-05-17 | 2016-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种利用浮点数计算指令实现大整数乘法计算加速方法 |
CN110519058A (zh) * | 2019-07-10 | 2019-11-29 | 中国科学院信息工程研究所 | 一种对于基于格的公钥加密算法的加速方法 |
Non-Patent Citations (1)
Title |
---|
"Accelerating NTRU based Homomorphic Encryption using GPUs";Wei Dai等;《2014 IEEE High Performance Extreme Computing Conference (HPEC)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111796797A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698773B2 (en) | Accelerated mathematical engine | |
KR102443546B1 (ko) | 행렬 곱셈기 | |
Mera et al. | Time-memory trade-off in Toom-Cook multiplication: an application to module-lattice based cryptography | |
CN106445471A (zh) | 处理器和用于在处理器上执行矩阵乘运算的方法 | |
US8793300B2 (en) | Montgomery multiplication circuit | |
CN111381968B (zh) | 一种高效运行深度学习任务的卷积运算优化方法及系统 | |
CN115344237A (zh) | 结合Karatsuba和蒙哥马利模乘的数据处理方法 | |
US20190235834A1 (en) | Optimization apparatus and control method thereof | |
WO2023065983A1 (zh) | 计算装置、神经网络处理设备、芯片及处理数据的方法 | |
CN111796797B (zh) | 一种利用ai加速器实现环上多项式乘法计算加速的方法和装置 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
CN111445016B (zh) | 加速非线性数学计算的系统及方法 | |
CN117216466A (zh) | 数据处理方法、装置、系统及存储介质 | |
WO2023045516A1 (zh) | 执行fft的方法、装置及设备 | |
CN111788584A (zh) | 一种神经网络计算方法和装置 | |
CN115809707A (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
CN112712168A (zh) | 一种实现神经网络高效计算的方法及系统 | |
CN112434255A (zh) | 向量-矩阵运算和数据处理方法、乘法器和处理器芯片 | |
CN110956252A (zh) | 执行多个神经网络的计算的方法和计算装置 | |
CN115344526B (zh) | 一种数据流架构的硬件加速方法及装置 | |
CN117435855B (zh) | 用于进行卷积运算的方法、电子设备和存储介质 | |
WO2023141933A1 (en) | Techniques, devices, and instruction set architecture for efficient modular division and inversion | |
WO2024109730A1 (zh) | 变量模乘运算器、运算方法及相关装置 | |
CN117744812A (zh) | 量子电路构建方法、装置、设备、存储介质及产品 | |
KR20230162723A (ko) | 인 시추 희소 행렬 확장 |
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 |