CN112860218A - 用于fp16浮点数据和int8整型数据运算的混合精度运算器 - Google Patents
用于fp16浮点数据和int8整型数据运算的混合精度运算器 Download PDFInfo
- Publication number
- CN112860218A CN112860218A CN202110167212.9A CN202110167212A CN112860218A CN 112860218 A CN112860218 A CN 112860218A CN 202110167212 A CN202110167212 A CN 202110167212A CN 112860218 A CN112860218 A CN 112860218A
- Authority
- CN
- China
- Prior art keywords
- int8
- data
- integer
- expression
- precision
- 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
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- 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)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器,包括精度转换模块、运算单元、两个输入数据和一个、两个或四个输出数据;输入数据和输出数据采用EM16格式表达,EM16格式表达为16位数,包括FP16浮点表达、INT8整型表达和INT8双整型表达;两个输入数据分别为神经网络计算中的特征数据和参数数据;精度转换模块用于根据外部配置信息执行特征数据的在EM16格式各表达之间的精度转换;运算单元用于根据外部配置信息执行同为FP16浮点数据或同为INT8整型数据的两数据之间加法运算或乘法运算。本发明的混合精度运算器可以在计算过程中混合使用FP16浮点数据和INT8整型数据,使得该混合精度计算可以在神经网络计算任务中既拥有FP16的精度,又可以拥有INT8的速度。
Description
技术领域
本发明涉及神经网络张量处理器架构领域,尤其涉及一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器。
背景技术
传统神经网络计算硬件使用固定的计算精度,如DSP通常采用16位定点计算,GPU通常采用32位浮点或16位浮点计算,AI加速器通常采用16位浮点或者8位整数计算。
神经网络算法通常使用32位浮点精度进行模型训练,训练所得的参数数据通常采用32位浮点精度。另一方面,使用32位浮点或16位浮点精度进行推理计算时,通常可以获得与训练相当的精度。然而,使用16位或8位整数精度计算时,往往会带来一定的计算准确率的损失。特别是在8位整数精度下,如果不通过量化训练等额外技术来补偿,8位整数精度计算所带来的准确率的损失往往会十分巨大。
半精度浮点数FP16是一种被计算机使用的二进制浮点数据类型,其仅占用两个字节,可以表示一个范围较大的数值。整数INT8仅占用1个字节,数值表示范围只有-128~127。
与INT8相比,FP16在高精度图像处理上有较大优势,可以保持与FP32相当的准确度,常用的目标检测和语义分割等神经网络算法通常需要FP16精度。另一方面,INT8的精度相对较低,更多用于对精度要求不高的分类算法。FP16浮点和INT8整型是神经网络推理计算采用的常用精度,在现有方法下,需要根据不同场景的精度和速度需求来综合考虑并选择其中一种。同一个计算硬件通常只能按照其中一种精度进行计算,需要在速度和精度上进行取舍。
发明内容
鉴于现有技术的上述缺陷,本发明的目的是提供一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器,能有效提高在神经网络张量处理器中FP16浮点数据和INT8整型数据混合运算的速度和精度。
为实现上述目的,本发明提供了一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器,包括精度转换模块、运算单元、两个输入数据和一个、两个或四个输出数据;
所述输入数据和输出数据采用EM16格式表达,所述EM16格式表达为16位数,包括FP16浮点表达、INT8整型表达和INT8双整型表达;两个输入数据分别为神经网络计算中的特征数据和参数数据;所述精度转换模块用于根据外部配置信息执行所述特征数据的在EM16格式各表达之间的精度转换;所述运算单元用于根据外部配置信息执行同为FP16浮点数据或同为INT8整型数据的两数据之间加法运算或乘法运算。
进一步的,所述FP16浮点表达,包括位宽为1比特的符号位、位宽为5比特的指数位和位宽为10比特的小数位;所述INT8整型表达,包括位宽为9比特的符号位和位宽为7比特的整数位;所述INT8双整型表达,包含了两个有符号的INT8整数,每个整数包括位宽为1比特的符号位和位宽为7比特的整数位。
进一步的,所述精度转换模块中,FP16浮点数据和INT8整型数据间的数据格式转换通过如下公式实现:
Valuefp16=Scalefp16*Valueint8
其中的Scale值为FP16精度的量化参数。
进一步的,所述Scale值的确定,是通过软件工具采用相对熵搜索的方法来确定。
进一步的,所述混合精度运算器的工作模式包括:FP16工作模式、INT8工作模式;当上述运算单元的两个输入数据都采用FP16浮点表达时,混合精度运算器处于FP16工作模式,此时运算单元的输出数据同样采用FP16浮点表达;当运算单元的两个输入数据分别采用INT8整型表达与INT8整型表达、INT8双整型表达与INT8双整型表达、或者INT8整型表达与INT8双整型表达时,混合精度运算器处于INT8工作模式,此时运算单元的输出数据采用INT8整型表达。
进一步的,所述FP16工作模式为:FP16浮点表达输入与FP16浮点表达输入通过运算单元执行加法或乘法运算获得一路FP16浮点表达输出。
进一步的,所述INT8工作模式中,INT8整型表达输入与INT8整型表达输入通过运算单元执行加法或乘法运算获得一路INT8整型表达输出。
进一步的,所述INT8工作模式中,INT8双整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算获得四路INT8整型表达输出。
进一步的,所述INT8工作模式中,INT8整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算获得两路INT8整型表达输出。
技术效果:
本发明提出的混合精度运算器可以在计算过程中混合使用FP16浮点数据和INT8整型数据,使得该混合精度计算可以在神经网络计算任务中既拥有FP16的精度,又可以拥有INT8的速度,是一种比固定FP16或固定INT8更好的运算方式。
在实际的神经网络计算中,可以根据需要把相继的连续两个混合精度运算器配置为不同的精度计算模式,从而达到神经网络计算中部分运算使用INT8加速的同时通过FP16保证较高精度的效果。
附图说明
图1是本发明的神经网络张量处理器的数据流计算引擎;
图2是本发明的EM16数据格式的FP16浮点表达、INT8整型表达或INT8双整型表达;
图3是本发明的混合精度运算器中INT8双整型表达的格式转换;
图4是本发明的混合精度运算器的结构框图;
图5是本发明运算单元的同为FP16浮点表达输入或同为INT8整型表达输入的数据计算关系;
图6是本发明运算单元的INT8双整型表达输入与INT8双整型表达输入的数据计算关系;
图7是本发明运算单元的INT8整型表达输入与INT8双整型表达输入的数据计算关系;
图8是本发明的一个多个运算器级联进行混合精度运算实例。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
本发明提出一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器,并将其应用于神经网络张量处理器的数据流计算引擎中,如图1所示的数据流计算引擎中的4D计算模块和1D计算模块。4D计算模块用于实现一个张量算子,1D计算模块实现一个线性算子和非线性算子。关于神经网络张量处理器,可参见前案专利1(发明名称为:一种神经网络多核张量处理器,申请号为:202011423696.0),或前案专利2(发明名称为:一种神经网络张量处理器,申请号为:202011421828.6)。所述4D计算模块用于实现一个张量算子,涉及加法运算、乘法运算及更为复杂的乘法累加运算。所述1D计算模块用于实现一个线性算子和/或一个非线性算子,其中的线性算子涉及加法运算和乘法运算。
该混合精度运算器的基本特征是可以在同一个计算硬件中同时支持FP16和INT8两种精度,并且两种精度的数据可以作为两个输入混合使用。该混合精度运算器支持基本的加法和乘法运算,也可以通过多级级联等方式支持更加复杂的乘法累加等运算。该混合精度运算器包括两个输入数据和一个、两个或四个输出数据,两个输入数据可以一个是FP16浮点数据且另一个是INT8整型数据的混合输入方式,一个、两个或四个输出数据既可以是FP16浮点数据也可以是INT8整型数据。
本发明提出的混合精度运算器可以在计算过程中混合使用FP16浮点数据和INT8整型数据,使得该混合精度计算可以在神经网络计算任务中既拥有FP16的精度,又可以拥有INT8的速度,是一种比固定FP16或固定INT8更好的运算方式。
(1)混合精度运算器的输入输出数据格式
本发明所提出的混合精度运算器的输入数据和输出数据采用EM16数据格式。EM16数据格式的位宽为16比特,可以同时表示神经网络计算中FP16浮点精度的特征数据、INT8整型精度的特征数据、FP16浮点精度的参数数据和INT8整型精度的参数数据。
如图2所示(EM16数据格式的FP16浮点表达、INT8整型表达或INT双整型表达),当数据内容为FP16浮点精度的特征数据或FP16浮点精度的参数数据时,EM16数据格式采用FP16浮点表达,包括位宽为1比特的符号位、位宽为5比特的指数位和位宽为10比特的小数位。
当数据内容为INT8整型精度的特征数据或INT8整型精度的参数数据时,EM16数据格式有两种表达方式,一种是INT8整型表达,包括位宽为9比特的符号位和位宽为7比特的整数位;另一种是INT8双整型表达,实际包含了两个有符号的INT8整数,每个整数包括位宽为1比特的符号位和位宽为7比特的整数位。
(2)混合精度运算器的输入输出数据的格式转换
如前所述,本发明所提出的混合精度运算器可以输入EM16格式FP16浮点表达数据、EM16格式INT8整型表达数据或EM16格式INT8双整型表达数据,但在实际计算时,两个EM16输入数据的表达方式必须一致,必须同为FP16浮点表达、同为INT8整型表达、同为INT8双整型表达、或者混合INT8整型表达与INT8双整型表达。因此,在真正计算前需要进行数据格式的转换,包括FP16浮点表达数据与INT8整型表达数据之间的格式转换以及FP16浮点表达数据与INT8双整型表达数据之间的格式转换。
FP16浮点数据和INT8整型数据间的数据格式转换通过如下公式实现:
Valuefp16=Scalefp16*Valueint8
其中的Scale值称为量化参数,该参数由软件工具通过分析一个量化校准数据集来确定每个数据的Scale值,该值以FP16精度保存并使用,我们称所有Scale值的集合为量化表。
为了有效的确定Scale值通常采用相对熵(relative entropy)来描述FP16数据和INT8数据概率分布的差异。相对熵越小意味着两个概率分布的差异越小,概率密度函数的形状和数值就越接近。软件工具通过相对熵搜索的方法来确定Scale值,以满足FP16数据分布和INT8数据分布的差异性最小,从而降低INT8计算的精度误差。
进一步,FP16浮点表达仅包含一个数据,而INT8双整型表达包含两个数据。因此,EM16格式FP16浮点表达数据与EM16格式INT8双整型表达数据之间的格式转换具备两个EM16数据融合成一个EM16数据或一个EM16数据分裂成两个EM16数据的特征,该融合或分裂的方向采用张量数据的C通道方向,如图3所示。
(3)混合精度运算器的结构
如图4所示,混合精度运算器由精度转换模块和运算单元组成。混合精度运算器专门针对神经网络计算任务而设计,其两个输入分别为神经网络计算中的特征数据和参数数据。上述特征数据是指在神经网络计算中实时产生的数据,而参数数据是指在神经网络训练过程中离线生成的数据。因此,参数数据可以根据需要离线完成EM16格式各表达之间的精度转换,而特征数据需要根据实际需要在线完成EM16格式各表达之间的精度转换。所述精度转换由上述精度转换模块完成,精度转换的类型以及如前所述的Scale量化参数由外部配置信息决定。
上述混合精度运算器的运算单元可以完成加法运算或乘法运算。运算单元的两个输入可以是FP16浮点表达与FP16浮点表达、INT8整型表达与INT8整型表达、INT8双整型表达与INT8双整型表达、或者INT8整型表达与INT8双整型表达。
当上述运算单元的两个输入数据都采用FP16浮点表达时,我们称混合精度运算器处于FP16工作模式,此时运算单元的输出数据同样采用FP16浮点表达;当运算单元的两个输入数据分别采用INT8整型表达与INT8整型表达、INT8双整型表达与INT8双整型表达、或者INT8整型表达与INT8双整型表达时,我们称混合精度运算器处于INT8工作模式,此时运算单元的输出数据采用INT8整型表达。
FP16浮点表达输入与FP16浮点表达输入通过运算单元执行加法或乘法运算可获得一路FP16浮点表达输出结果;INT8整型表达输入与INT8整型表达输入通过运算单元执行加法或乘法运算可获得一路INT8整型表达输出,相应的数据计算关系如图5所示。
INT8双整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算可获得四路INT8整型表达输出,相应的数据计算关系如图6所示。
INT8整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算可获得两路INT8整型表达输出,相应的数据计算关系如图7所示。
(4)一个混合精度运算实例
在实际的神经网络计算中,可以根据需要把相继的连续两个混合精度运算器配置为不同的精度计算模式,从而达到神经网络计算中部分运算使用INT8加速的同时通过FP16保证较高精度的效果,图8是一个计算的例子。该实例由三个混合精度运算器组成,分别处于INT8模式(运算单元的输入数为INT8整型或INT8双整型,输出为INT8整型)和FP16模式(运算单元的输入为FP16浮点,输出为FP16浮点)。
需要特别说明的是,这里的运算器A、运算器B和运算器C是逻辑意义上的运算器,也即可以在物理上用三个运算器设备实现运算器A、运算器B和运算器C;也可以通过时分复用的方式,在物理上通过一个运算器设备在不同时刻分别扮演运算器A、运算器B和运算器C的角色。
在该实例中,混合精度运算器A处于INT8模式,其两个输入分别为FP16浮点特征数据和INT8双整型参数数据。在该混合精度运算器A内部,FP16浮点特征数据会被精度转换模块转换为INT8整型数据,并最终和INT8双整型参数数据通过运算单元计算得到两路INT8整型特征数据输出,一路作为混合精度运算器B的输入,另一路作为混合精度运算器C的输入。
混合精度运算器B和C处于FP16模式,其两个输入分别为FP16浮点参数数据和INT8整型特征数据。在混合精度运算器B和C的内部,INT8整型特征数据被精度转换模块转换为FP16浮点数据,并最终和FP16浮点参数数据通过运算单元计算得到FP16浮点特征数据输出。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (9)
1.一种用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:包括精度转换模块、运算单元、两个输入数据和一个、两个或四个输出数据;
所述输入数据和输出数据采用EM16格式表达,所述EM16格式表达为16位数,包括FP16浮点表达、INT8整型表达和INT8双整型表达;
两个输入数据分别为神经网络计算中的特征数据和参数数据;
所述精度转换模块用于根据外部配置信息执行所述特征数据的在EM16格式各表达之间的精度转换;
所述运算单元用于根据外部配置信息执行同为FP16浮点数据或同为INT8整型数据的两数据之间加法运算或乘法运算。
2.如权利要求1所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述FP16浮点表达,包括位宽为1比特的符号位、位宽为5比特的指数位和位宽为10比特的小数位;所述INT8整型表达,包括位宽为9比特的符号位和位宽为7比特的整数位;所述INT8双整型表达,包含了两个有符号的INT8整数,每个整数包括位宽为1比特的符号位和位宽为7比特的整数位。
3.如权利要求1所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述精度转换模块中,FP16浮点数据和INT8整型数据间的数据格式转换通过如下公式实现:
Valuefp16=Scalefp16*Valueint8
其中的Scale值为FP16精度的量化参数。
4.如权利要求3所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述Scale值的确定,是通过软件工具采用相对熵搜索的方法来确定。
5.如权利要求1所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述混合精度运算器的工作模式包括:FP16工作模式、INT8工作模式;当上述运算单元的两个输入数据都采用FP16浮点表达时,混合精度运算器处于FP16工作模式,此时运算单元的输出数据同样采用FP16浮点表达;当运算单元的两个输入数据分别采用INT8整型表达与INT8整型表达、INT8双整型表达与INT8双整型表达、或者INT8整型表达与INT8双整型表达时,混合精度运算器处于INT8工作模式,此时运算单元的输出数据采用INT8整型表达。
6.如权利要求5所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述FP16工作模式为:FP16浮点表达输入与FP16浮点表达输入通过运算单元执行加法或乘法运算获得一路FP16浮点表达输出。
7.如权利要求5所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述INT8工作模式中,INT8整型表达输入与INT8整型表达输入通过运算单元执行加法或乘法运算获得一路INT8整型表达输出。
8.如权利要求5所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述INT8工作模式中,INT8双整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算获得四路INT8整型表达输出。
9.如权利要求5所述的用于FP16浮点数据和INT8整型数据运算的混合精度运算器,其特征在于:所述INT8工作模式中,INT8整型表达输入与INT8双整型表达输入通过运算单元执行加法或乘法运算获得两路INT8整型表达输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167212.9A CN112860218B (zh) | 2021-02-07 | 2021-02-07 | 用于fp16浮点数据和int8整型数据运算的混合精度运算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167212.9A CN112860218B (zh) | 2021-02-07 | 2021-02-07 | 用于fp16浮点数据和int8整型数据运算的混合精度运算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860218A true CN112860218A (zh) | 2021-05-28 |
CN112860218B CN112860218B (zh) | 2023-07-11 |
Family
ID=75988872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110167212.9A Active CN112860218B (zh) | 2021-02-07 | 2021-02-07 | 用于fp16浮点数据和int8整型数据运算的混合精度运算器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860218B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230126672A1 (en) * | 2021-10-27 | 2023-04-27 | Jpmorgan Chase Bank, N.A. | Systems and methods for mixed precision machine learning with fully homomorphic encryption |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557299A (zh) * | 2016-11-30 | 2017-04-05 | 上海兆芯集成电路有限公司 | 浮点操作数计算方法以及使用此方法的装置 |
US20190042244A1 (en) * | 2018-09-27 | 2019-02-07 | Intel Corporation | Computer processor for higher precision computations using a mixed-precision decomposition of operations |
CN110688086A (zh) * | 2019-09-06 | 2020-01-14 | 西安交通大学 | 一种可重构的整型-浮点加法器 |
-
2021
- 2021-02-07 CN CN202110167212.9A patent/CN112860218B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557299A (zh) * | 2016-11-30 | 2017-04-05 | 上海兆芯集成电路有限公司 | 浮点操作数计算方法以及使用此方法的装置 |
US20190042244A1 (en) * | 2018-09-27 | 2019-02-07 | Intel Corporation | Computer processor for higher precision computations using a mixed-precision decomposition of operations |
CN110955404A (zh) * | 2018-09-27 | 2020-04-03 | 英特尔公司 | 用于使用操作的混合精度分解的较高精度计算的计算机处理器 |
CN110688086A (zh) * | 2019-09-06 | 2020-01-14 | 西安交通大学 | 一种可重构的整型-浮点加法器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230126672A1 (en) * | 2021-10-27 | 2023-04-27 | Jpmorgan Chase Bank, N.A. | Systems and methods for mixed precision machine learning with fully homomorphic encryption |
Also Published As
Publication number | Publication date |
---|---|
CN112860218B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4969118A (en) | Floating point unit for calculating A=XY+Z having simultaneous multiply and add | |
US20210357735A1 (en) | Split accumulator for convolutional neural network accelerator | |
JP7042276B2 (ja) | 3つの128ビット拡張オペランドに対して融合積和演算を実行するように構成される浮動小数点ユニット、その方法、プログラム、およびシステム | |
CN107273090A (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
WO2017092284A1 (zh) | 加法器装置、数据累加方法及数据处理装置 | |
US11294627B2 (en) | Floating point dot-product operator with correct rounding | |
US10095475B2 (en) | Decimal and binary floating point rounding | |
US7991811B2 (en) | Method and system for optimizing floating point conversion between different bases | |
JPH09212337A (ja) | 浮動小数点演算処理装置 | |
CN112835551B (zh) | 用于处理单元的数据处理方法、电子设备和计算机可读存储介质 | |
CN112860218B (zh) | 用于fp16浮点数据和int8整型数据运算的混合精度运算器 | |
JPH04332036A (ja) | 浮動小数点乗算器とその乗算方式 | |
CN112783469A (zh) | 一种用于执行浮点指数运算的方法及装置 | |
US11550544B2 (en) | Fused Multiply-Add operator for mixed precision floating-point numbers with correct rounding | |
CN111124361A (zh) | 算术处理装置及其控制方法 | |
Alsuhli et al. | Conventional Number Systems for DNN Architectures | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
US11604646B2 (en) | Processor comprising a double multiplication and double addition operator actuable by an instruction with three operand references | |
JP2752948B2 (ja) | 浮動小数点演算装置 | |
KR200222599Y1 (ko) | 부동소숫점형식정규화기 | |
KR20230143041A (ko) | 다중 모드 활성화 함수를 위한 가속기 장치 | |
Sainath et al. | Approximate Radix-4 Booth Multipliers for Error Analysis | |
JP2002304288A (ja) | データ演算処理装置及びデータ演算処理プログラム | |
CN118151885A (zh) | 模型转换方法、电子设备及存储介质 | |
CN115220687A (zh) | 利用32位浮点处理器实现64位浮点处理精度的方法 |
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 |