CN113608718A - 一种实现素数域大整数模乘计算加速的方法 - Google Patents

一种实现素数域大整数模乘计算加速的方法 Download PDF

Info

Publication number
CN113608718A
CN113608718A CN202110783676.2A CN202110783676A CN113608718A CN 113608718 A CN113608718 A CN 113608718A CN 202110783676 A CN202110783676 A CN 202110783676A CN 113608718 A CN113608718 A CN 113608718A
Authority
CN
China
Prior art keywords
multiplicand
multiplier
segment
bits
large integer
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
CN202110783676.2A
Other languages
English (en)
Other versions
CN113608718B (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202110783676.2A priority Critical patent/CN113608718B/zh
Publication of CN113608718A publication Critical patent/CN113608718A/zh
Application granted granted Critical
Publication of CN113608718B publication Critical patent/CN113608718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开一种实现素数域大整数模乘计算加速的方法,将素数域长度为k比特的被乘数和乘数分为N段,前(N‑1)段每段长为w比特,第N段长为r比特,w≥r;将被乘数和乘数的每一段转化为双精度浮点数,采用积和熔加运算对转化后的被乘数和乘数的每一段进行乘加运算,初始化2N个定点数,将乘加结果的二进制数值累加到经过初始化后的定点数中,对定点数进行位数约减,获得最后的模乘结果。本发明充分利用双精度浮点数的格式特点,提升了素数域模乘的计算效率。

Description

一种实现素数域大整数模乘计算加速的方法
技术领域
本发明属于计算技术领域,涉及一种实现素数域大整数模乘计算加速的方法。
背景技术
随着科技的不断进步,计算机技术的飞速发展,用户对隐私保护有了更高的要求,密码学也随之被大量应用到网络通信技术中。例如,电子商务、软件分发等面向海量用户的互联网衍生产业通过密钥协商和数字签名实现在互联网上的隐私保护和安全通信。大整数模乘是许多非对称密码算法的核心计算负载。世界主流的非对称密码算法ECC(EllipticCurve Cryptography)的主要计算负载是素数域的大整数模乘。因此,素数域大整数模乘的运算速度直接影响到密钥协商及数字签名实现的速率,针对素数域中的大整数模乘高性能实现的研究十分重要。
GPUs(Graphics processing units)在计算机图形和图像处理方面非常高效,因而更加擅长浮点数的运算。GPUs的浮点数的计算能力在过去十年间增长超过十倍。此外,NVIDIA公司推出的CUDA并行计算框架使得原本只适用于图形处理计算的GPUs计算资源也可以用于加速科学计算。很多研究人员利用GPUs的计算资源加速主流的密码原语。例如,Pan等人利用GPUs的定点数计算能力加速ECDSA,Niall等人利用GPUs的双精度浮点数计算能力加速RSA,吞吐量都达到了新的峰值。为了适应GPUs浮点数计算能力发展快速这一特点,本发明结合基于双精度浮点数的积和熔加指令和整数域算数指令,加速素数域的大整数模乘运算。
当前计算机基本数据类型有对应的固定字长,大整数在计算机中无法通过基本数据类型直接表示,研究人员一般拆分大整数,用多个基本数据类型表示一个大整数,采用多精度计算方式计算大整数模乘。
本发明使用的双精度浮点数格式符合IEEE 754所规定的浮点数标准。IEEE754标准中一个浮点数由符号位,阶码和尾码组成,其中尾码包含1位隐含位和若干位分数部分。一个双精度浮点数包含1位符号位,12位阶码,1位隐含位和52位分数部分,隐含位即在计算机中不显示表示。
发明内容
本发明提供一种实现素数域大整数模乘计算加速的方法,能够充分利用计算资源的双精度浮点计算能力,提升大整数模乘的计算速度。
一种实现素数域大整数模乘计算加速的方法,其步骤为:
1)将定义在素数域Fp上长度为k比特的大整数A和B分为N段,前(N-1)段每段为w比特,第N段为r比特,w≥r;其中,p为2k-σ,σ为小于2w的素数;
2)将被乘数A、乘数B的每段分别转化为双精度浮点数;采用积和熔加运算对被转化后的被乘数A、乘数B进行乘加操作,并将运算结果转化为一定点数R;
3)将该定点数R分为2N段,在R数值不变的情况下,将R的前(2N-1)段的段长设置为w比特;利用乘法操作和加法操作将R约减为N段定点数
Figure BDA0003158236070000021
利用乘法操作,加法操作和移位操作将
Figure BDA0003158236070000022
超过k比特的部分消减,使得
Figure BDA0003158236070000023
为k比特的定点数;
4)判断
Figure BDA0003158236070000024
是否为所选素数域上的整数,如果
Figure BDA0003158236070000025
是所选素数域上的整数,则
Figure BDA0003158236070000026
即为大整数A和大整数B的模乘结果;如果
Figure BDA0003158236070000027
不是所选素数域上的整数,则将
Figure BDA0003158236070000028
减去p作为大整数A和大整数B的模乘结果。
其中,“大整数”是指无法仅用一个双精度浮点数表示的整数。
进一步的,被乘数A和乘数B的分段长度
Figure BDA0003158236070000029
其中52为双精度浮点数的尾码长度;被乘数A和乘数B的前(N-1)段的比特长度w和第N段比特长度r满足等式(N-1)×w+r=k,并且在52≥w≥r的情况下,使得w-r尽量小。
进一步的,对被乘数和乘数分段后,A[0:N-1]表示被乘数A的第0~(N-1)的N个段,A’[0:N-1]为A[0:N-1]的浮点数形式,B[0:N-1]表示乘数的第0~(N-1)的N个段,B’[0:N-1]为B[0:N-1]的浮点数形式。
进一步的,所述采用积和熔加运算对被转化后的被乘数A、乘数B进行乘加操作,包括:首先初始化2N个定点数记为R[0:2N-1];其次按照段扫描的大整数乘法次序∑i,jA'[i]·B'[j],计算被乘数A’的一个段A’[i]和乘数B’的一个段B’[j]与加数C0的乘加结果Mij[0],然后计算被乘数A’的一个段A’[i]和乘数B’的一个段B’[j]与加数C1的乘加结果Mij[1],其中0≤i,j<N;设conv_2_bin(x)的操作为求x的二进制形式,将conv_2_bin(Mij[0])累加到定点数R[i+j+1]中,将conv_2_bin(Mij[1])累加到R[i+j]中。
进一步的,2N个定点数R[0:2N-1]的初始化方法是:当t∈[0,N-1]时,R[t]=-[(t×(0x433+w)+(t+1)×0x433)&0xFFF]<<52,当t∈[N,2N-1]时,R[t]=-[((t+1)×(0x433+w)+t×0x433)&0xFFF]<<52。其中,0x433为双精度浮点数阶码位的偏移量1023加上52的十六进制形式。0xFFF为212-1的十六进制形式。
进一步的,加数C0的值为252+w,加数C1的值为252+w+252-Mij[0]。
进一步的,将R的前(2N-1)段的段长设置为w比特的方法为:Rt+1=Rt+1+(Rt>>w),t∈[0,2N-2]。其中,Rt表示R中的第t+1段,Rt+1表示R中的第t+2段。
进一步的,所述利用乘法操作和加法操作将R约减为N段定点数
Figure BDA0003158236070000031
包括:
Figure BDA0003158236070000032
约减后
Figure BDA0003158236070000033
的取值范围为[0,2k+σ·2digit-r),其中digit为一个双精度浮点数的比特长度,由于A和B为大整数,其比特长度k远大于一个双精度浮点数的比特长度,所以
Figure BDA00031582360700000322
Figure BDA0003158236070000034
进一步的,
Figure BDA0003158236070000035
表示
Figure BDA0003158236070000036
的第0~(N-1)的N个段,记
Figure BDA0003158236070000037
的高digit-r位为进位carry,根据
Figure BDA0003158236070000038
的范围可知,carry的取值为0或1;所述利用乘法操作,加法操作和移位操作将
Figure BDA0003158236070000039
超过k比特的部分消减,使得
Figure BDA00031582360700000310
为k比特的定点数,包括:首先令
Figure BDA00031582360700000311
Figure BDA00031582360700000312
其中maskr为2r-1;然后当t∈[0,N-2]时,令
Figure BDA00031582360700000313
经过进位消减的
Figure BDA00031582360700000314
的取值范围为:当carry为0的时候,
Figure BDA00031582360700000315
当carry为1的时候,
Figure BDA00031582360700000316
由于σ为小素数且digit远小于k,所以进位消减后
Figure BDA00031582360700000317
的取值范围可统一为[0,2k-1]。
进一步的,如果
Figure BDA00031582360700000318
小于素数p,则
Figure BDA00031582360700000319
为大整数A和大整数B相乘再对p取模的结果;如果
Figure BDA00031582360700000320
大于素数p,则
Figure BDA00031582360700000321
为大整数A和大整数B相乘再对p取模的结果。
与现有技术相比,本发明的积极效果为:
本发明在计算素数域大整数模乘时,首先将被乘数与乘数拆分并转化为多个双精度浮点类型的数值,在浮点数转化过程中,充分利用了双精度浮点数尾数中的分数部分;利用浮点数的积和熔加指令对转化后的被乘数和乘数进行乘加操作,并将乘加结果转换为二进制形式累加到定点数中,对存放累加结果的定点数进行位数约减得到模乘结果,本方法利用浮点数计算指令实现素数域大整数模乘,构思新颖,计算高效,最大化利用计算机的双精度浮点数存储格式,提升了大整数模乘的计算速度。
附图说明
图1为本发明的利用浮点数计算指令实现素数域大整数模乘计算加速方法流程图。
具体实施方式
下面对本发明的技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
对于给定的素数域Fp,p=2221-3,A和B为素数域Fp上的大整数,计算A乘以B对p取模时,利用浮点数计算指令实现素数域大整数模乘计算加速方法,主要包括以下步骤:
1)将长度为221比特的被乘数A和乘数B分别分为N段,N=5;其中,前4段每段为45比特,第5段为41比特;
2)对被乘数和乘数分段后,A[0:4]表示被乘数A的第0~4的5个段,B[0:4]表示乘数B的第0~4的5个段。将A[0:4]的每一段转化为双精度浮点形式记为A’[0:4],将B[0:4]的每一段转化为双精度浮点形式记为B’[0:4]。
3)按照段扫描的大整数乘法次序∑i,jA'[i]·B'[j],i,j∈[0,4],先计算被乘数A’的一个段A’[i],和乘数B’的一个段B’[j]与加数C0的乘加结果Mij[0],其中,C0=297;然后计算被乘数A’的一个段A’[i],和乘数B’的一个段B’[j]与加数C1的乘加结果Mij[1],其中C1=297+252-Mij[0]。
4)初始化定点数R,将其分为2N段,记为R[0:2N-1];R[0:2N-1]的初始化方式为:
Figure BDA0003158236070000041
5)设conv_2_bin(x)的操作为求x的二进制形式,将conv_2_bin(Mij[0])累加到定点数R[i+j+1]中,将conv_2_bin(Mij[1])累加到R[i+j]中。
6)将R[0:9]的前9段的段长设置为45比特,设置方法为:
Rt+1=Rt+1+(Rt>>45),t∈[0,8]
7)利用乘法操作和加法操作将10段定点数R约减为5段定点数
Figure BDA0003158236070000042
的计算方法为:
Figure BDA0003158236070000043
Figure BDA0003158236070000051
约减后
Figure BDA0003158236070000052
的取值范围为[0,2221+3·223)。
8)
Figure BDA0003158236070000053
表示
Figure BDA0003158236070000054
的第0~(N-1)的N个段,记
Figure BDA0003158236070000055
的高23位为进位carry,根据步骤7)中
Figure BDA0003158236070000056
的范围可知,carry的取值为0或1;利用乘法操作,加法操作和移位操作将N段定点数
Figure BDA0003158236070000057
消减为221比特。令
Figure BDA0003158236070000058
Figure BDA0003158236070000059
然后当t∈[0,3]时,令
Figure BDA00031582360700000510
经过进位消减操作后,
Figure BDA00031582360700000511
9)判断
Figure BDA00031582360700000512
是否小于素数p,若小于素数p,则
Figure BDA00031582360700000513
为大整数A和大整数B相乘再对p取模的结果;如果
Figure BDA00031582360700000514
大于素数p,则
Figure BDA00031582360700000515
为大整数A和大整数B相乘再对p取模的结果。
最后,通过对密码学中常用的7个素数域,用本发明提出的利用浮点数计算指令实现素数域大整数模乘计算加速方法计算相关参数,得出以下表1。
表1.常用素数域的分组长度和段长选择
p k σ N w r
2<sup>221</sup>-3 221 3 5 45 41
2<sup>222</sup>-117 222 117 5 45 42
2<sup>251</sup>-9 251 9 5 51 47
2<sup>255</sup>-19 255 19 5 51 51
2<sup>382</sup>-105 382 105 8 48 46
2<sup>383</sup>-187 383 187 8 48 47
2<sup>414</sup>-17 414 17 8 52 50
基于同一发明构思,本发明的另一实施例提供一种非对称密码方法,其中包含素数域大整数模乘计算,所述素数域大整数模乘采样本发明的方法进行计算。
基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上公开的本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例所公开的内容,本发明的保护范围以权利要求书界定的范围为准。

Claims (10)

1.一种实现素数域大整数模乘计算加速的方法,其步骤为:
1)A和B为定义在素数域Fp上的大整数,p为2k-σ,σ为小于2w的素数;将长度为k比特的被乘数A和乘数B分别分为N段;其中,前(N-1)段每段为w比特,第N段为r比特,w≥r;
2)将被乘数A、乘数B的每段分别转化为双精度浮点数;采用积和熔加运算对被转化后的被乘数A、乘数B进行乘加操作,并将运算结果转化为一定点数R;
3)将该定点数R分为2N段,在R数值不变的情况下,将R的前(2N-1)段的段长设置w比特;利用乘法操作和加法操作将R约减为N段定点数
Figure FDA0003158236060000011
利用乘法操作,加法操作和移位操作将
Figure FDA0003158236060000012
超过k比特的部分消减,使得
Figure FDA0003158236060000013
为k比特的定点数;
4)判断
Figure FDA0003158236060000014
是否为所选素数域上的整数,如果
Figure FDA0003158236060000015
是所选素数域上的整数,则
Figure FDA0003158236060000016
即为大整数A和大整数B的模乘结果;如果
Figure FDA0003158236060000017
不是所选素数域上的整数,则将
Figure FDA0003158236060000018
减去p作为大整数A和大整数B的模乘结果。
2.如权利要求1所述的方法,其特征在于,被乘数A和乘数B的分段长度
Figure FDA0003158236060000019
其中52为双精度浮点数的尾码长度;被乘数A和乘数B前(N-1)段的比特长度w和第N段比特长度r满足等式(N-1)×w+r=k,并且在52≥w≥r的情况下,使得w-r尽量小。
3.如权利要求1或2所述的方法,其特征在于,对被乘数和乘数分段后,A[0:N-1]表示被乘数A的第0~(N-1)的N个段,A’[0:N-1]为A[0:N-1]的浮点数形式,B[0:N-1]表示乘数的第0~(N-1)的N个段,B’[0:N-1]为B[0:N-1]的浮点数形式。
4.如权利要求3所述的方法,其特征在于,所述采用积和熔加运算对被转化后的被乘数A、乘数B进行乘加操作,包括:首先初始化定点数R,将其分为2N段,记为R[0:2N-1];其次按照段扫描的大整数乘法次序∑i,jA'[i]·B'[j],计算被乘数A’的一个段A’[i]和乘数B’的一个段B’[j]与加数C0的乘加结果Mij[0],然后计算被乘数A’的一个段A’[i]和乘数B’的一个段B’[j]与加数C1的乘加结果Mij[1],其中0≤i,j<N;设conv_2_bin(x)的操作为求x的二进制形式,将conv_2_bin(Mij[0])累加到定点数R[i+j+1]中,将conv_2_bin(Mij[1])累加到R[i+j]中。
5.如权利要求4所述的方法,其特征在于,所述初始化定点数R,包括:当t∈[0,N-1]时,R[t]=-[(t×(0x433+w)+(t+1)×0x433)&0xFFF]<<52,当t∈[N,2N-1]时,R[t]=-[((t+1)×(0x433+w)+t×0x433)&0xFFF]<<52。
6.如权利要求4所述的方法,其特征在于,加数C0的值为252+w,加数C1的值为252+w+252-Mij[0]。
7.如权利要求1或5所述的方法,其特征在于,将R的前(2N-1)段的段长设置为w比特的方法为:Rt+1=Rt+1+(Rt>>w),t∈[0,2N-2],其中,Rt表示R中的第t+1段,Rt+1表示R中的第t+2段。
8.如权利要求7所述的方法,其特征在于,所述利用乘法操作和加法操作将R约减为N段定点数
Figure FDA0003158236060000021
包括:
Figure FDA0003158236060000022
约减后
Figure FDA0003158236060000023
的取值范围为[0,2k+σ·2digit-r),其中digit为一个双精度浮点数的比特长度,由于A和B为大整数,其比特长度k远大于一个双精度浮点数的比特长度,所以0<σ·2digit-r<2k,即
Figure FDA0003158236060000024
9.如权利要求8所述的方法,其特征在于,
Figure FDA0003158236060000025
表示
Figure FDA0003158236060000026
的第0~(N-1)的N个段,记
Figure FDA0003158236060000027
的高digit-r位为进位carry,根据
Figure FDA0003158236060000028
的范围可知,carry的取值为0或1;所述利用乘法操作,加法操作和移位操作将
Figure FDA0003158236060000029
超过k比特的部分消减,使得
Figure FDA00031582360600000210
为k比特的定点数,包括:首先令
Figure FDA00031582360600000211
其中maskr为2r-1;然后当t∈[0,N-2]时,令
Figure FDA00031582360600000212
经过进位消减的
Figure FDA00031582360600000213
的取值范围为:当carry为0的时候,
Figure FDA00031582360600000214
当carry为1的时候,
Figure FDA00031582360600000215
由于σ为小素数且digit远小于k,所以进位消减后
Figure FDA00031582360600000216
的取值范围可统一为[0,2k-1]。
10.如权利要求9所述的方法,其特征在于,如果
Figure FDA00031582360600000217
小于素数p,则
Figure FDA00031582360600000218
为大整数A和大整数B相乘再对p取模的结果;如果
Figure FDA00031582360600000219
大于素数p,则
Figure FDA00031582360600000220
为大整数A和大整数B相乘再对p取模的结果。
CN202110783676.2A 2021-07-12 2021-07-12 一种实现素数域大整数模乘计算加速的方法 Active CN113608718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110783676.2A CN113608718B (zh) 2021-07-12 2021-07-12 一种实现素数域大整数模乘计算加速的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110783676.2A CN113608718B (zh) 2021-07-12 2021-07-12 一种实现素数域大整数模乘计算加速的方法

Publications (2)

Publication Number Publication Date
CN113608718A true CN113608718A (zh) 2021-11-05
CN113608718B CN113608718B (zh) 2024-06-25

Family

ID=78337471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110783676.2A Active CN113608718B (zh) 2021-07-12 2021-07-12 一种实现素数域大整数模乘计算加速的方法

Country Status (1)

Country Link
CN (1) CN113608718B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422116A (zh) * 2021-12-14 2022-04-29 阿里巴巴(中国)有限公司 数据处理方法及装置
CN117908835A (zh) * 2024-03-20 2024-04-19 南京邮电大学 一种基于浮点数计算能力加速sm2国密算法的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327924A1 (en) * 2000-12-08 2002-06-08 Ibm Canada Limited-Ibm Canada Limitee Processor design for extended-precision arithmetic
CN104461449A (zh) * 2014-11-14 2015-03-25 中国科学院数据与通信保护研究教育中心 基于向量指令的大整数乘法实现方法及装置
CN105930128A (zh) * 2016-05-17 2016-09-07 中国科学院数据与通信保护研究教育中心 一种利用浮点数计算指令实现大整数乘法计算加速方法
CN112181360A (zh) * 2019-07-04 2021-01-05 福建天泉教育科技有限公司 浮点数的乘法运算方法及计算机可读存储介质
WO2021073512A1 (zh) * 2019-10-14 2021-04-22 安徽寒武纪信息科技有限公司 用于浮点运算的乘法器、方法、集成电路芯片和计算装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327924A1 (en) * 2000-12-08 2002-06-08 Ibm Canada Limited-Ibm Canada Limitee Processor design for extended-precision arithmetic
CN104461449A (zh) * 2014-11-14 2015-03-25 中国科学院数据与通信保护研究教育中心 基于向量指令的大整数乘法实现方法及装置
CN105930128A (zh) * 2016-05-17 2016-09-07 中国科学院数据与通信保护研究教育中心 一种利用浮点数计算指令实现大整数乘法计算加速方法
CN112181360A (zh) * 2019-07-04 2021-01-05 福建天泉教育科技有限公司 浮点数的乘法运算方法及计算机可读存储介质
WO2021073512A1 (zh) * 2019-10-14 2021-04-22 安徽寒武纪信息科技有限公司 用于浮点运算的乘法器、方法、集成电路芯片和计算装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑昉昱: ""基于GPU的高性能密码计算"", 《信息安全研究》, vol. 5, no. 1, 31 January 2019 (2019-01-31), pages 88 - 94 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422116A (zh) * 2021-12-14 2022-04-29 阿里巴巴(中国)有限公司 数据处理方法及装置
CN114422116B (zh) * 2021-12-14 2023-11-28 阿里巴巴(中国)有限公司 数据处理方法及装置
CN117908835A (zh) * 2024-03-20 2024-04-19 南京邮电大学 一种基于浮点数计算能力加速sm2国密算法的方法
CN117908835B (zh) * 2024-03-20 2024-05-17 南京邮电大学 一种基于浮点数计算能力加速sm2国密算法的方法

Also Published As

Publication number Publication date
CN113608718B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
JP7476175B2 (ja) 乗算累積回路
US9519460B1 (en) Universal single instruction multiple data multiplier and wide accumulator unit
US20210349692A1 (en) Multiplier and multiplication method
CN113138750A (zh) 算数逻辑单元、浮点数乘法计算的方法及设备
US11816448B2 (en) Compressing like-magnitude partial products in multiply accumulation
CN113608718B (zh) 一种实现素数域大整数模乘计算加速的方法
CN106951211A (zh) 一种可重构定浮点通用乘法器
WO2022133686A1 (zh) 有/无符号乘累加装置及方法
US5796645A (en) Multiply accumulate computation unit
CN117908835B (zh) 一种基于浮点数计算能力加速sm2国密算法的方法
CN112860220A (zh) 一种适用于多精度计算的可重构浮点乘加运算单元及方法
WO2022170811A1 (zh) 一种适用于混合精度神经网络的定点乘加运算单元及方法
CN114341796A (zh) 带符号多字乘法器
CN112558920B (zh) 有/无符号乘累加装置及方法
Tang et al. A high-accuracy hardware-efficient multiply–accumulate (mac) unit based on dual-mode truncation error compensation for cnns
CN113672196B (zh) 一种基于单数字信号处理单元的双乘法计算装置和方法
WO2022174733A1 (zh) 一种神经元加速处理方法、装置、设备及可读存储介质
Mohan et al. Evaluation of Mixed-Radix Digit Computation Techniques for the Three Moduli RNS {2 n− 1, 2 n, 2 n+ 1− 1}
CN115827555A (zh) 数据处理方法、计算机设备、存储介质和乘法器结构
US20220075598A1 (en) Systems and Methods for Numerical Precision in Digital Multiplier Circuitry
WO2022068327A1 (zh) 运算单元、浮点数计算的方法、装置、芯片和计算设备
CN113625990B (zh) 浮点转定点装置、方法、电子设备及存储介质
US20230259581A1 (en) Method and apparatus for floating-point data type matrix multiplication based on outer product
Iyer et al. Generalised Algorithm for Multiplying Binary Numbers Via Vedic Mathematics
JP2705640B2 (ja) 積和演算器

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