WO2022170809A1 - 一种适用于多精度计算的可重构浮点乘加运算单元及方法 - Google Patents
一种适用于多精度计算的可重构浮点乘加运算单元及方法 Download PDFInfo
- Publication number
- WO2022170809A1 WO2022170809A1 PCT/CN2021/131745 CN2021131745W WO2022170809A1 WO 2022170809 A1 WO2022170809 A1 WO 2022170809A1 CN 2021131745 W CN2021131745 W CN 2021131745W WO 2022170809 A1 WO2022170809 A1 WO 2022170809A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- floating
- point
- operated
- precision
- unit
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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
Definitions
- the invention relates to the field of digital circuits, in particular to a reconfigurable floating-point multiply-add operation unit and method suitable for multi-precision calculation.
- the technical problem to be solved by the present invention is to provide a reconfigurable floating-point multiply-add operation unit and method suitable for multi-precision calculation, aiming at solving the problem of supporting multi-precision floating point in the prior art
- the operation method of the multiplication operation will cause problems such as bit redundancy and low hardware utilization.
- an embodiment of the present invention provides a reconfigurable floating-point multiply-add operation method suitable for multi-precision computing, wherein the method includes:
- a shift-add operation is performed on the product, and an operation result generated based on the shift-add operation is used as the result of the multiply-accumulate operation of the floating-point number to be operated.
- the significant number is divided according to the number of bits of the unit multiplier, and after division, several target segments are generated; including one.
- the number of called unit multipliers is determined according to the precision of the floating-point number to be operated, a target segment is used as an operand of a unit multiplier, and the unit multiplier is obtained based on the Operand-generated products include:
- a number of row products are generated after the operands are input to the unit multiplier.
- the determining the number of unit multipliers to be called according to the precision and logarithm of the floating-point number to be operated includes:
- n calls n unit multipliers for the floating-point number to be operated
- n When the floating-point number to be operated is a single-precision floating-point number, n calls 4n unit multipliers for the floating-point number to be operated;
- n 16n unit multipliers for the floating-point number to be operated
- n is an integer greater than 0.
- the generating of several row products after the operand is input to the unit multiplier includes:
- the operand is input into the unit multiplier, and the operand is encoded by the unsigned bit Booth to generate several row products.
- the floating-point number to be operated is a double-precision floating-point number
- before the using a target segment as an operand of a unit multiplier further includes:
- performing a shift-add operation on the product, and using an operation result generated based on the shift-add operation as the result of the multiply-accumulate operation of the floating-point number to be operated includes:
- the displacement includes at least one of an internal displacement and an external displacement
- the calculation method of the internal displacement amount is: taking the sum of the high and low bits of the segment numbers divided based on the floating-point number to be operated as the internal shift amount of the product corresponding to the segment number;
- the calculation method of the external displacement is as follows: adding the exponent parts of the floating-point numbers to be operated to obtain an exponent sum, and taking the maximum value of all the exponent sums obtained as a reference value; The difference obtains the exponent difference, and the exponent difference is used as the external shift amount of the product corresponding to the floating-point number to be operated.
- an embodiment of the present invention also provides a reconfigurable floating-point multiply-add operation unit suitable for multi-precision computing, characterized in that the operation unit includes:
- a division module used to obtain the significant digits of the floating-point number to be operated, and generate several target segments based on the significant digits; the several include one;
- a unit multiplier used for determining the number of unit multipliers to be called according to the precision of the floating-point number to be operated, taking a target segment as an operand of a unit multiplier, and obtaining the unit multiplier generated based on the operand the product of ;
- An addition tree configured to perform a shift-add operation on the product, and use an operation result generated based on the shift-add operation as a result of the multiply-accumulate operation of the floating-point number to be operated.
- the operation unit includes 16n unit multipliers, and n is a non-negative number.
- the embodiment of the present invention avoids the problem of bit redundancy by adopting a unified mantissa division scheme, improves the hardware utilization rate by adopting a unified unit multiplier, and can also realize the multiply-accumulate operation of half-precision floating-point numbers, single The multiply-accumulate operation of precision floating-point numbers and the multiply-accumulate operation of double-precision floating-point numbers. It solves the problems of bit redundancy and low hardware utilization in the operation method supporting multi-precision floating-point multiplication in the prior art.
- FIG. 1 is a schematic flowchart of a reconfigurable floating-point multiply-add operation method suitable for multi-precision computing according to an embodiment of the present invention.
- FIG. 2 is a schematic diagram of a division scheme of significant digits of floating-point numbers of different precisions provided by an embodiment of the present invention.
- FIG. 3 is a schematic diagram of a working principle of a 14-bit basic multiplier provided by an embodiment of the present invention.
- FIG. 4 is a calculation diagram of 16 groups of products input to an adder tree when a pair of FP64 is calculated according to an embodiment of the present invention.
- FIG. 5 is an internal basic block diagram of a reconfigurable floating-point multiply-add operation unit suitable for multi-precision calculation provided by an embodiment of the present invention.
- FIG. 6 is a reference diagram of a minimum operation unit that can implement mantissa multiply-accumulate operations of three types of floating-point numbers of different precisions provided by an embodiment of the present invention.
- the architecture is based on a 15-bit multiplier, which is optimized to support FP128-precision floating-point multiplication, but uses When performing floating-point multiplication operations of other precisions, a large amount of bit redundancy and waste of hardware resources will be generated.
- the fixed-point multiplier has a fixed number of input bits, which cannot meet the requirements of multi-precision computing, and cannot maximize the use of hardware resources for application requirements to improve energy efficiency ratio and throughput; while the existing ones support multi-precision floating-point.
- the multiplication operation method also has problems such as loss of precision, bit redundancy, and low hardware utilization.
- the present invention provides a reconfigurable floating-point multiply-add operation method suitable for multi-precision calculation.
- a reconfigurable floating-point multiply-add operation method suitable for multi-precision calculation.
- the invention adopts a unified mantissa division scheme to avoid the problem of bit redundancy, adopts a unified unit multiplier to improve the hardware utilization rate, and can also realize the multiply-accumulate operation of half-precision floating-point numbers, the multiply-accumulate operation of single-precision floating-point numbers, and the double-accumulation operation of double-precision floating-point numbers. Multiply-accumulate operation of precision floating-point numbers. It solves the problems of bit redundancy and low hardware utilization in the operation method supporting multi-precision floating-point multiplication in the prior art.
- the method includes the following steps:
- Step S100 Obtain the significant digits of the floating-point number to be operated, and generate several target segments based on the significant digits; the several target segments include one.
- the exponent part of the multiplication result is the sum of the exponent parts of the two floating-point numbers to be multiplied
- the mantissa part of the multiplication result is the product of the mantissas of the two multiplied floating-point numbers.
- the present embodiment needs to obtain the significant digits of the floating-point number to be operated, and the significant digits refer to the data that needs to participate in the multiplication operation in the mantissa of the floating-point number to be operated. Only the significant digits that need to participate in the multiplication operation are determined first, Subsequent multiplication operations can be performed. After the significant figures are obtained, this embodiment needs to generate one or more target segments based on the significant figures, and then use the target segments as input data of the unit multiplier.
- the step S100 includes the following steps:
- Step S110 adding a 1-bit integer to the mantissa part of the floating-point number to be operated;
- Step S120 taking the number on the significant digits of the floating-point number obtained after adding as the significant number of the floating-point number to be operated;
- Step S130 when the number of bits of the significant figure is greater than the number of bits of the unit multiplier, divide the significant number according to the number of bits of the unit multiplier, and generate several target segments after division; The several include one.
- a 1-bit integer needs to be added to the mantissa part of the floating-point number to be calculated, and then the significant digits of the floating-point number obtained after adding are added.
- the number is used as the significant figure of the floating point number to be operated on.
- the significant number of digits is 11; for a single-precision floating point number (floating point 32-bit number, FP32)
- the mantissa After adding a 1-bit integer to the part, the significand is 24 bits; for a double-precision floating point number (floating point 64-bit number, FP64), after adding a 1-bit integer to the mantissa, the significand is 53 bits.
- the target segment needs to be obtained according to the significant figures, and the target segment is used as the input data of the subsequent unit multiplier.
- the significant number may be directly input into the unit multiplier as a target segment.
- the unit multiplier is a 14-bit basic unit multiplier
- the significant figures of the 16-bit floating-point numbers have only 11 bits, so there is no need to divide the significant figures of the 16-bit floating-point numbers. Use it directly as a target segment.
- the significant figure of a 32-bit floating point number is 24 bits, so the significant figure needs to be divided to generate two 12-bit target segments.
- the significant figure of a 64-bit floating point number is 53 bits, so the significant figure also needs to be divided, and then 4 target segments of 14:13:13:13 are generated.
- the target segment After the target segment is acquired, the target segment needs to be input into the unit multiplier, so as shown in FIG. 1 , the method further includes the following steps:
- Step S200 Determine the number of called unit multipliers according to the precision of the floating-point number to be operated, take a target segment as an operand of a unit multiplier, and obtain a product generated by the unit multiplier based on the operand.
- the number of called unit multiplications needs to be determined according to the precision of the floating-point number to be operated. Then use the obtained target segment as an operand of a unit multiplier. It can be understood that a unit multiplier needs two operands to perform multiplication, one operand is used as a multiplier, and the other operand is used as a multiplicand . The product generated by the unit multiplier based on the operands is then obtained. In multiplication, if the multiplier is a number with two or more digits, when multiplying, each digit of the multiplier must be used to multiply the multiplicand, and the product obtained each time is called the product, or called incomplete. product.
- the step S200 specifically includes the following steps:
- Step 210 determining the number of called unit multipliers according to the precision of the floating-point number to be operated
- Step 220 using a target segment as an operand of a unit multiplier
- Step 230 Input the operand into the unit multiplier to generate several row products.
- the determining the number of unit multipliers to call according to the precision and logarithm of the floating-point number to be operated includes: when the to-be-operated floating-point number is When the floating-point number is a half-precision floating-point number, n calls n-unit multipliers for the floating-point number to be operated; when the floating-point number to be operated is a single-precision floating-point number, n calls 4n-unit multipliers for the floating-point number to be operated; When the floating-point number to be operated is a double-precision floating-point number, n calls 16n unit multipliers for the floating-point number to be operated; n is an integer greater than 0.
- the unit multiplier is a 14-bit basic unit multiplier
- the unit multiplier when you need to calculate the multiplication and accumulation results of 16 pairs of half-precision floating-point numbers at the same time, you need to call 16 14-bit basic unit multipliers for the following reasons.
- the embodiment is to divide the significant figures based on the number of bits of the unit multiplier, and the significant figures of the half-precision floating-point numbers can be directly used as a target segment.
- a pair of half-precision floating-point numbers needs to call a 14-bit basic unit multiplier, and a total of 16 14-bit basic unit multipliers need to be called.
- a target segment since it is possible to generate target segments with unequal number of bits after the significant digits are divided, in an implementation manner, before using a target segment as an operand of a unit multiplier, it further includes: when the to-be-to-be-multiplier is used When the number of bits of the target segment to which the floating-point number should be operated is not equal, a complementing operation is performed on the target segment with the smallest number of bits, and the complementing operation may be implemented in the form of zero-filling.
- the unit multiplier is a 14-bit basic unit multiplier
- the significant figure corresponding to the double-precision floating-point number is 53 bits
- the four target ends of 14:13:13:13 generated after division need to The 13-bit target segment is zero-padded.
- a target segment is then used as one operand of a unit multiplier, after which several row products generated by the unit multiplier are taken. Specifically, after the operand is input to the unit multiplier, the unit multiplier encodes the operand through an unsigned bit booth and generates several row products (as shown in FIG. 3 ). .
- the method further includes the following steps:
- Step S300 Perform a shift-add operation on the product, and use an operation result generated based on the shift-add operation as a result of the multiply-accumulate operation of the floating-point number to be operated.
- step S300 specifically includes the following steps:
- Step S310 inputting the product into a preset addition tree
- Step S320 calculating the displacement of the product, and performing a shift operation on the product according to the displacement through the addition tree;
- Step S330 performing a summation operation on the data obtained after the shift operation to obtain a result of the multiply-accumulate operation of the floating-point number to be operated.
- an addition tree is preset for the scheme of generating the target segment and the usage of the unit multiplier, so as to realize the lossless processing of the data. Specifically, after the product is obtained, the product is input into the addition tree, then the displacement of the product is calculated in the addition tree, and then the product is shifted according to the displacement. .
- the displacement calculated in the addition tree includes at least one of an internal displacement and an external displacement, that is, it may include only the internal displacement, only the external displacement, or both the internal displacement The final value of the displacement amount needs to be determined according to the precision of the floating point number to be operated and the logarithm of the calculation.
- the calculation method of the internal displacement amount is to use the sum of the high and low bits of the segment numbers divided based on the floating-point number to be operated as the internal shift amount of the product corresponding to the segment numbers.
- the calculation method of the external displacement is as follows: adding the exponent parts of the floating-point numbers to be operated to obtain an exponent sum, taking the maximum value of all exponent sums obtained as a reference value, and then adding the reference value to the exponent sum. A difference is obtained to obtain an exponent difference, and finally the exponent difference is used as the external shift amount of the product corresponding to the floating-point number to be operated.
- 16 14-bit basic unit multipliers need to be called. Since the significant digits of half-precision floating-point numbers are not divided, it is necessary to calculate the multiplication of multiple pairs of floating-point numbers at the same time. The result of multiply-accumulate operation, so in this case, the displacement of the product is only the external displacement.
- the displacement of the product in this case includes both the internal displacement and the external displacement.
- the displacement of the product only includes the internal displacement.
- a 1 ⁇ b 0 results in a displacement of 1 ⁇ 14bit
- the resulting displacement is 2 ⁇ 14bit ( As shown in Figure 4).
- the present invention also provides a reconfigurable floating-point multiply-add operation unit suitable for multi-precision calculation.
- the operation unit includes:
- a division module 01 is used to obtain the significant figures of the floating-point numbers to be operated, and generate several target segments based on the significant figures; the several include one;
- Unit multiplier 02 for determining the number of unit multipliers to be called according to the precision of the floating-point number to be operated, taking a target segment as an operand of a unit multiplier, and obtaining the unit multiplier based on the operand the resulting product;
- the addition tree 03 is configured to perform a shift-add operation on the product, and use the operation result generated based on the shift-add operation as the result of the multiply-accumulate operation of the floating-point number to be operated.
- the operation unit in order to enable the operation unit to realize the multiply-accumulate operation of half-precision floating-point numbers, single-precision floating-point numbers and double-precision floating-point numbers, the operation unit includes 16n unit multipliers, and n is a non-negative number .
- each unit multiplier can realize 1 set of half-precision floating-point multiplication operations, so 16 pairs of half-precision can be realized at the same time Multiplication and accumulation of floating-point numbers. Every 4 unit multipliers can realize 1 set of single-precision floating-point multiplication operations, so it can also realize the multiply-accumulate operation of 4 pairs of single-precision floating-point numbers at the same time.
- the 16 unit multipliers can realize a set of double-precision floating-point multiplication operations, so it can also realize a multiply-accumulate operation of a pair of double-precision floating-point numbers.
- FIG. 6 is a reference diagram of a minimum operation unit provided by the present invention that can realize the multiply-accumulate operation of three floating-point numbers of different precisions. Therefore, the embodiments of the present invention can at least complete the multiply-accumulate operations of multiple pairs of half-precision floating-point numbers, the multiply-accumulate operations of multiple pairs of single-precision floating-point numbers, or the multiply-accumulate operations of one pair of double-precision floating-point numbers within one clock cycle without limiting hardware resources. Multiply and accumulate operations. Compared with the fixed FP32 and FP64 multiply-add units, the arithmetic unit provided by the present invention can increase the maximum throughput rate by 4 times and 16 times respectively.
- the present invention discloses a reconfigurable floating-point multiply-add operation unit and method suitable for multi-precision calculation.
- a reconfigurable floating-point multiply-add operation unit By adopting a unified method to divide the mantissas of floating-point numbers of different precisions, a plurality of bit segments are obtained. , and call different numbers of the same type of unit multipliers to complete the multiplication operation of multiple bit segments in one cycle and output the corresponding product, and then perform the shift and addition operation on the product to obtain the multiplication and accumulation of floating-point numbers. Operation result.
- the invention adopts a unified mantissa division scheme to avoid the problem of bit redundancy, adopts a unified unit multiplier to improve the hardware utilization rate, and can also realize the multiply-accumulate operation of half-precision floating-point numbers, the multiply-accumulate operation of single-precision floating-point numbers, and the double-accumulation operation of double-precision floating-point numbers. Multiply-accumulate operation of precision floating-point numbers. It solves the problems of bit redundancy and low hardware utilization in the operation method supporting multi-precision floating-point multiplication in the prior art.
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)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims (10)
- 一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述方法包括:获取待运算浮点数的有效数字,基于所述有效数字生成若干个目标段;所述若干个包括一个;根据所述待运算浮点数的精度确定调用的单元乘法器的个数,将一个目标段作为一个单元乘法器的操作数,获取所述单元乘法器基于所述操作数生成的乘积;对所述乘积进行移位相加操作,并将基于所述移位相加操作生成的运算结果作为所述待运算浮点数的乘累加运算的结果。
- 根据权利要求1所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述获取待运算浮点数的有效数字,基于所述有效数字生成若干个目标段;所述若干个包括一个包括:在所述待运算浮点数的尾数部分添加1比特整数;将添加完毕以后得到的浮点数的有效位数上的数字作为所述待运算浮点数的有效数字;当所述有效数字的比特位数大于所述单元乘法器的比特位数时,根据所述单元乘法器的比特位数对所述有效数字进行划分,划分后生成若干个目标段;所述若干个包括一个。
- 根据权利要求1所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述根据所述待运算浮点数的精度确定调用的单元乘法器的个数,将一个目标段作为一个单元乘法器的操作数,获取所述单元乘法器基于所述操作数生成的乘积包括:根据所述待运算浮点数的精度确定调用的单元乘法器的个数;将一个目标段作为一个单元乘法器的一个操作数;将所述操作数输入所述单元乘法器后生成若干行乘积。
- 根据权利要求3所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,当所述单元乘法器为14比特乘法器时,所述根据所述待运算浮点数的精度和对数 确定调用的单元乘法器的个数包括:当所述待运算浮点数为半精度浮点数时,n对待运算浮点数调用n个单元乘法器;当所述待运算浮点数为单精度浮点数时,n对待运算浮点数调用4n个单元乘法器;当所述待运算浮点数为双精度浮点数时,n对待运算浮点数调用16n个单元乘法器;n为大于0的整数。
- 根据权利要求3所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述将所述操作数输入所述单元乘法器后生成若干行乘积包括:将所述操作数输入所述单元乘法器中,通过无符号位布斯对所述操作数进行编码后生成若干行乘积。
- 根据权利要求3所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,当所述待运算浮点数为双精度浮点数时,所述将一个目标段作为一个单元乘法器的一个操作数之前还包括:当所述待运算浮点数应的目标段的比特位数不相等时,对比特位数最小的目标段进行补位操作。
- 根据权利要求1所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述对所述乘积进行移位相加操作,并将基于所述移位相加操作生成的运算结果作为所述待运算浮点数的乘累加运算的结果包括:将所述乘积输入预设的加法树中;计算所述乘积的位移量,通过所述加法树根据所述位移量对所述乘积进行移位操作;对所述移位操作后得到的数据进行求和操作后得到所述待运算浮点数的乘累加运算的结果。
- 根据权利要求7所述的一种适用于多精度计算的可重构浮点乘加运算方法,其特征在于,所述位移量包括内部位移量以及外部位移量中至少一种位移量;所述内部位移量的计算方式为:将基于所述待运算浮点数划分出的段数的高低位之和作为所述段数对应的乘积的内部移位量;所述外部位移量的计算方式为:将所述待运算浮点数的指数部分相加得到指数和,将得到的所有指数和的最大值作为参考值;将所述参考值与所述指数和作差得到指数差,将所述指数差作为所述待运算浮点数对应的乘积的外部移位量。
- 一种适用于多精度计算的可重构浮点乘加运算单元,其特征在于,所述运算单元包括:划分模块,用于获取待运算浮点数的有效数字,基于所述有效数字生成若干个目标段;所述若干个包括一个;单元乘法器,用于根据所述待运算浮点数的精度确定调用的单元乘法器的个数,将一个目标段作为一个单元乘法器的操作数,获取所述单元乘法器基于所述操作数生成的乘积;加法树,用于对所述乘积进行移位相加操作,并将基于所述移位相加操作生成的运算结果作为所述待运算浮点数的乘累加运算的结果。
- 根据权利要求9所述的一种适用于多精度计算的可重构浮点乘加运算单元,其特征在于,所述运算单元中包含16n个单元乘法器,n为非负数。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110178984.2A CN112860220B (zh) | 2021-02-09 | 2021-02-09 | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 |
| CN202110178984.2 | 2021-02-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022170809A1 true WO2022170809A1 (zh) | 2022-08-18 |
Family
ID=75989427
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/131745 Ceased WO2022170809A1 (zh) | 2021-02-09 | 2021-11-19 | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN112860220B (zh) |
| WO (1) | WO2022170809A1 (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115827555A (zh) * | 2022-11-30 | 2023-03-21 | 格兰菲智能科技有限公司 | 数据处理方法、计算机设备、存储介质和乘法器结构 |
| CN115840555A (zh) * | 2022-12-12 | 2023-03-24 | 大连理工大学 | 基于对数运算系统的小型浮点运算单元及其在fpga中的应用 |
| CN117908835A (zh) * | 2024-03-20 | 2024-04-19 | 南京邮电大学 | 一种基于浮点数计算能力加速sm2国密算法的方法 |
| CN119861894A (zh) * | 2024-12-24 | 2025-04-22 | 太初(无锡)电子科技有限公司 | 一种多精度的点积运算硬件 |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112860220B (zh) * | 2021-02-09 | 2023-03-24 | 南方科技大学 | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 |
| US20230083270A1 (en) * | 2021-09-14 | 2023-03-16 | International Business Machines Corporation | Mixed signal circuitry for bitwise multiplication with different accuracies |
| CN115809043A (zh) * | 2021-09-16 | 2023-03-17 | 上海寒武纪信息科技有限公司 | 一种乘法器及其相关产品和方法 |
| CN114237551B (zh) * | 2021-11-26 | 2022-11-11 | 南方科技大学 | 一种基于脉动阵列的多精度加速器及其数据处理方法 |
| CN114063979A (zh) * | 2021-11-29 | 2022-02-18 | Oppo广东移动通信有限公司 | 计算方法及相关装置 |
| CN117435164B (zh) * | 2022-07-15 | 2024-11-01 | 格兰菲智能科技股份有限公司 | 高性能乘加器、乘加方法和电子设备 |
| CN116301717A (zh) * | 2022-11-22 | 2023-06-23 | 中国科学院自动化研究所 | 乘加和的确定方法、装置、电子设备及存储介质 |
| CN115756385A (zh) * | 2022-11-23 | 2023-03-07 | 杭州嘉楠耘智信息科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
| CN109739555A (zh) * | 2019-01-04 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 包括乘累加模块的芯片、终端及控制方法 |
| CN111492343A (zh) * | 2017-12-21 | 2020-08-04 | 高通股份有限公司 | 浮点乘法运算处理的系统和方法 |
| CN112860220A (zh) * | 2021-02-09 | 2021-05-28 | 南方科技大学 | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8468191B2 (en) * | 2009-09-02 | 2013-06-18 | Advanced Micro Devices, Inc. | Method and system for multi-precision computation |
| CN104111816B (zh) * | 2014-06-25 | 2017-04-12 | 中国人民解放军国防科学技术大学 | Gpdsp中多功能simd结构浮点融合乘加运算装置 |
| CN109062540B (zh) * | 2018-06-06 | 2022-11-25 | 北京理工大学 | 一种基于cordic算法的可重构浮点运算装置 |
| CN112189184A (zh) * | 2019-09-29 | 2021-01-05 | 深圳市大疆创新科技有限公司 | 浮点数处理方法、设备和可移动平台 |
-
2021
- 2021-02-09 CN CN202110178984.2A patent/CN112860220B/zh active Active
- 2021-11-19 WO PCT/CN2021/131745 patent/WO2022170809A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107273090A (zh) * | 2017-05-05 | 2017-10-20 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
| CN111492343A (zh) * | 2017-12-21 | 2020-08-04 | 高通股份有限公司 | 浮点乘法运算处理的系统和方法 |
| CN109739555A (zh) * | 2019-01-04 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 包括乘累加模块的芯片、终端及控制方法 |
| CN112860220A (zh) * | 2021-02-09 | 2021-05-28 | 南方科技大学 | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 |
Non-Patent Citations (1)
| Title |
|---|
| MAO WEI; LI KAI; XIE XINANG; ZHAO SHIRUI; LI HE; YU HAO: "A Reconfigurable Multiple-Precision Floating-Point Dot Product Unit for High-Performance Computing", 2021 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), EDAA, 1 February 2021 (2021-02-01), pages 1793 - 1798, XP033941161, DOI: 10.23919/DATE51398.2021.9473928 * |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115827555A (zh) * | 2022-11-30 | 2023-03-21 | 格兰菲智能科技有限公司 | 数据处理方法、计算机设备、存储介质和乘法器结构 |
| CN115827555B (zh) * | 2022-11-30 | 2024-05-28 | 格兰菲智能科技有限公司 | 数据处理方法、计算机设备、存储介质和乘法器结构 |
| CN115840555A (zh) * | 2022-12-12 | 2023-03-24 | 大连理工大学 | 基于对数运算系统的小型浮点运算单元及其在fpga中的应用 |
| CN117908835A (zh) * | 2024-03-20 | 2024-04-19 | 南京邮电大学 | 一种基于浮点数计算能力加速sm2国密算法的方法 |
| CN117908835B (zh) * | 2024-03-20 | 2024-05-17 | 南京邮电大学 | 一种基于浮点数计算能力加速sm2国密算法的方法 |
| CN119861894A (zh) * | 2024-12-24 | 2025-04-22 | 太初(无锡)电子科技有限公司 | 一种多精度的点积运算硬件 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112860220A (zh) | 2021-05-28 |
| CN112860220B (zh) | 2023-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112860220B (zh) | 一种适用于多精度计算的可重构浮点乘加运算单元及方法 | |
| CN107168678B (zh) | 一种乘加计算装置及浮点乘加计算方法 | |
| US11816448B2 (en) | Compressing like-magnitude partial products in multiply accumulation | |
| US4969118A (en) | Floating point unit for calculating A=XY+Z having simultaneous multiply and add | |
| US8606840B2 (en) | Apparatus and method for floating-point fused multiply add | |
| US4949296A (en) | Method and apparatus for computing square roots of binary numbers | |
| CN116643718B (zh) | 一种流水线结构的浮点融合乘加装置、方法及处理器 | |
| US20100125621A1 (en) | Arithmetic processing device and methods thereof | |
| WO2020191417A2 (en) | Techniques for fast dot-product computation | |
| US8060551B2 (en) | Method and apparatus for integer division | |
| US20200133633A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
| CN110515584A (zh) | 浮点计算方法及系统 | |
| US8019805B1 (en) | Apparatus and method for multiple pass extended precision floating point multiplication | |
| Lutz et al. | Fused fp8 4-way dot product with scaling and fp32 accumulation | |
| KR20170138143A (ko) | 단일 곱셈-누산 방법 및 장치 | |
| US5278782A (en) | Square root operation device | |
| GB2511314A (en) | Fast fused-multiply-add pipeline | |
| CA2530015C (en) | Division and square root arithmetic unit | |
| US5206826A (en) | Floating-point division cell | |
| CN1220935C (zh) | 提高半规模双精度浮点乘法流水线效率的部件 | |
| Gonzalez-Navarro et al. | A binary integer decimal-based multiplier for decimal floating-point arithmetic | |
| KR20040033198A (ko) | 부동소수점의 곱셈 및 누산장치 | |
| Hakim et al. | Improved Decimal Rounding Module based on Compound Adder | |
| CN121364845A (zh) | 一种支持多精度浮点数乘累加运算的电路 | |
| JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21925456 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21925456 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21925456 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.02.2024) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21925456 Country of ref document: EP Kind code of ref document: A1 |