JP7407291B2 - 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 - Google Patents
浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 Download PDFInfo
- Publication number
- JP7407291B2 JP7407291B2 JP2022539150A JP2022539150A JP7407291B2 JP 7407291 B2 JP7407291 B2 JP 7407291B2 JP 2022539150 A JP2022539150 A JP 2022539150A JP 2022539150 A JP2022539150 A JP 2022539150A JP 7407291 B2 JP7407291 B2 JP 7407291B2
- Authority
- JP
- Japan
- Prior art keywords
- precision
- floating point
- calculation result
- intermediate calculation
- combination
- 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
- 238000004364 calculation method Methods 0.000 title claims description 529
- 238000000034 method Methods 0.000 claims description 53
- 238000006243 chemical reaction Methods 0.000 claims description 51
- 238000000354 decomposition reaction Methods 0.000 claims description 47
- 238000000205 computational method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
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
- G06F7/487—Multiplying; Dividing
-
- 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
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- 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
-
- 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
- G06F7/485—Adding; Subtracting
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Description
APPARATUS, AND ARITHMETIC LOGIC UNIT”という表題の中国特許出願第201911414534.8号に対する優先権を主張するものであり、この文献はその全体が参照により本明細書に組み込まれる。
計算すべき複数の第1精度浮動小数点数を取得するステップと、
計算すべき各第1精度浮動小数点数を分解して、少なくとも2つの第2精度浮動小数点数を取得するステップであって、第2精度浮動小数点数の精度は、第1精度浮動小数点数の精度よりも低い、ステップと、
異なる第1精度浮動小数点数を分解して得られる2つの第2精度浮動小数点数を含む様々な組合せを決定するステップと、
各組合せにおける第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するステップと、
各組合せに対応する中間計算結果に基づいて、計算すべき複数の第1精度浮動小数点数の計算結果を決定するステップと、を含む。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する中間計算結果の指数を調整して、調整した中間計算結果を取得するステップと、
全ての組合せに対応する調整した中間計算結果に対して総和演算を実行し、複数の第1精度浮動小数点数の計算結果を取得するステップと、を含む。
第2精度浮動小数点数の各組合せに対応する中間計算結果の指数と、各組合せにおける第2精度浮動小数点数に対応する指数バイアス値を加算して、調整した中間計算結果を取得するステップを含む。
第1精度浮動小数点数は倍精度浮動小数点数であり、第2精度浮動小数点数は単精度浮動小数点数であり、第1精度中間計算結果は倍精度中間計算結果であり、第1精度計算結果は倍精度計算結果であり、第2精度乗算器は単精度乗算器である。
各組合せにおける第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する第1精度中間計算結果を取得し、各第1精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第3精度中間計算結果を取得するステップを含み、第3精度中間計算結果の精度は、第1精度中間計算結果の精度よりも高い。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第3精度中間計算結果の指数を調整して、調整した第3精度中間計算結果を取得するステップを含む。
全ての組合せに対応する調整した第3精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第3精度計算結果を取得するステップを含む。
各第1精度中間結果の指数及び仮数に対しゼロパディング処理を実行して、各組合せに対応する第3精度中間計算結果を取得するステップを含む。
各組合せにおける第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する第3精度中間計算結果を取得し、各第3精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第1精度中間計算結果を取得するステップを含む。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第1精度中間計算結果の指数を調整して、調整した第1精度中間計算結果を取得するステップを含む。
第2精度浮動小数点数の全てのグループに対応する調整した第1精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第1精度計算結果を取得するステップを含む。
計算すべき複数の第1精度浮動小数点数を取得するように構成された取得モジュールと、
計算すべき各第1精度浮動小数点数を分解して、少なくとも2つの第2精度浮動小数点数を取得するように構成された分解モジュールであって、第2精度浮動小数点数の精度は、第1精度浮動小数点数の精度よりも低い、分解モジュールと、
異なる第1精度浮動小数点数を分解して得られる2つの第2精度浮動小数点数を含む様々な組合せを決定するように構成された組合せモジュールと、
各組合せにおける第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するように構成された入力モジュールと、
各組合せに対応する中間計算結果に基づいて、計算すべき複数の第1精度浮動小数点数の計算結果を決定するように構成された決定モジュールと、を含む。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する中間計算結果の指数を調整して、調整した中間計算結果を取得し、及び
全ての組合せに対応する調整した中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の計算結果を取得するように構成される。
第1精度浮動小数点数は倍精度浮動小数点数であり、第2精度浮動小数点数は単精度浮動小数点数であり、第1精度中間計算結果は倍精度中間計算結果であり、第1精度計算結果は倍精度計算結果であり、第2精度乗算器は単精度乗算器である。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第3精度中間計算結果の指数を調整して、調整した第3精度中間計算結果を取得し、及び
全ての組合せに対応する調整した第3精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第3精度計算結果を取得するように構成される。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第1精度中間計算結果の指数を調整して、調整した第1精度中間計算結果を取得し、及び
第2精度浮動小数点数の全てのグループに対応する調整した第1精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第1精度計算結果を取得するように構成される。
第1精度浮動小数点数は倍精度浮動小数点数であり、第2精度浮動小数点数は単精度浮動小数点数であり、第1精度中間計算結果は倍精度中間計算結果であり、第1精度計算結果は倍精度計算結果であり、第2精度乗算器は単精度乗算器である。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する中間計算結果の指数を調整して、調整した中間計算結果を取得し、及び
全ての組合せに対応する調整した中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の計算結果を取得するように構成される。
第1精度浮動小数点数は倍精度浮動小数点数であり、第2精度浮動小数点数は単精度浮動小数点数であり、第1精度中間計算結果は倍精度中間計算結果であり、第1精度計算結果は倍精度計算結果であり、第2精度乗算器は単精度乗算器である。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第3精度中間計算結果の指数を調整して、調整した第3精度中間計算結果を取得し、及び
全ての組合せに対応する調整した第3精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第3精度計算結果を取得するように構成される。
各組合せにおける第2精度浮動小数点数に対応する指数バイアス値に基づいて、各組合せに対応する第1精度中間計算結果の指数を調整して、調整した第1精度中間計算結果を取得し、及び
第2精度浮動小数点数の全てのグループに対応する調整した第1精度中間計算結果に対して総和演算を実行して、複数の第1精度浮動小数点数の第1精度計算結果を取得するように構成される。
第1精度浮動小数点数は倍精度浮動小数点数であり、第2精度浮動小数点数は単精度浮動小数点数であり、第1精度中間計算結果は倍精度中間計算結果であり、第1精度計算結果は倍精度計算結果であり、第2精度乗算器は単精度乗算器である。
processor, NP)、グラフィックス処理装置(graphics processing unit)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit, ASIC)、又は本願の解決策のプログラム実行を制御するように構成された1つ又は複数の集積回路であり得る。
Claims (28)
- プロセッサ内の算術論理演算装置であって、該算術論理演算装置は、浮動小数点数の分解回路、第2精度乗算器、及びアキュムレータを含み、
前記浮動小数点数の分解回路は、各入力の計算すべき第1精度浮動小数点数を少なくとも2つの第2精度浮動小数点数に分解するように構成され、該第2精度浮動小数点数の精度は、前記第1精度浮動小数点数の精度よりもより低く、
前記第2精度乗算器は、異なる第1精度浮動小数点数を分解して得られる2つの第2精度浮動小数点数を含む組合せを受け取り、各組合せにおける前記第2精度浮動小数点数に対して乗算演算を実行し、及び各組合せに対応する中間計算結果を出力するように構成され、
前記アキュムレータは、各組合せに対応する前記中間計算結果に基づいて、前記計算すべき複数の第1精度浮動小数点数の計算結果を取得するために演算を実行するように構成される、
算術論理演算装置。 - 前記演算は、総和演算である、請求項1に記載の算術論理演算装置。
- 当該算術論理演算装置は、指数調整回路をさらに含み、
前記浮動小数点数の分解回路は、各第2精度浮動小数点数に対応する指数バイアス値を前記指数調整回路に出力するようにさらに構成され、
前記第2精度乗算器は、各組合せに対応する前記中間計算結果を前記指数調整回路に出力するようにさらに構成され、
前記指数調整回路は、各入力組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各入力組合せに対応する前記中間計算結果の指数を調整し、調整した中間計算結果を前記アキュムレータに出力するように構成される、請求項1に記載の算術論理演算装置。 - 指数調整回路は、各入力組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値と、各入力組合せに対応する前記中間計算結果の前記指数とを加算し、前記調整した中間計算結果を前記アキュムレータに出力するように構成される、請求項3に記載の算術論理演算装置。
- 前記中間計算結果は、第1精度中間計算結果であり、前記計算結果は、第1精度計算結果である、請求項3に記載の算術論理演算装置。
- 前記第1精度浮動小数点数は単精度浮動小数点数であり、前記第2精度浮動小数点数は半精度浮動小数点数であり、前記第1精度中間計算結果は単精度中間計算結果であり、前記第1精度計算結果は単精度計算結果であり、前記第2精度乗算器は半精度乗算器である、又は
前記第1精度浮動小数点数は倍精度浮動小数点数であり、前記第2精度浮動小数点数は単精度浮動小数点数であり、前記第1精度中間計算結果は倍精度中間計算結果であり、前記第1精度計算結果は倍精度計算結果であり、前記第2精度乗算器は単精度乗算器である、請求項5に記載の算術論理演算装置。 - 当該算術論理演算装置は、フォーマット変換回路をさらに含み、
前記第2精度乗算器は、各組合せにおける前記第2精度浮動小数点数に対して乗算演算を実行し、各組合せに対応する第1精度中間計算結果を前記フォーマット変換回路に出力するように特に構成され、
前記フォーマット変換回路は、各入力の第1精度中間計算結果に対してフォーマット変換を実行し、各組合せに対応する第3精度中間計算結果を前記指数調整回路に出力するように構成され、前記第3精度中間計算結果の精度は、前記第1精度中間計算結果の精度よりも高く、
前記指数調整回路は、各入力組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各入力組合せに対応する前記第3精度中間計算結果の指数を調整し、調整した第3精度中間計算結果を前記アキュムレータに出力するように構成され、
前記アキュムレータは、全ての前記入力組合せに対応する前記調整した第3精度中間計算結果に対して総和演算を実行し、前記複数の第1精度浮動小数点数に対して第3精度計算結果を出力するように構成される、請求項3に記載の算術論理演算装置。 - 前記フォーマット変換回路は、
各入力の第1精度中間計算結果の指数及び仮数に対しゼロパディング処理を実行し、各組合せに対応する前記第3精度中間計算結果を前記指数調整回路に出力するように構成される、請求項7に記載の算術論理演算装置。 - 前記第1精度浮動小数点数は単精度浮動小数点数であり、前記第2精度浮動小数点数は半精度浮動小数点数であり、前記第1精度中間計算結果は単精度中間計算結果であり、前記第3精度中間計算結果は倍精度中間計算結果であり、前記第3精度計算結果は倍精度計算結果であり、前記第2精度乗算器は半精度乗算器である、請求項7に記載の算術論理演算装置。
- 当該算術論理演算装置は、フォーマット変換回路をさらに含み、
前記第2精度乗算器は、各組合せにおける前記第2精度浮動小数点数に対して乗算演算を実行し、各組合せに対応する第3精度中間計算結果を前記フォーマット変換回路に出力するように構成され、
前記フォーマット変換回路は、各入力の第3精度中間計算結果に対してフォーマット変換を実行し、各組合せに対応する第1精度中間計算結果を前記指数調整回路に出力するように構成され、
前記指数調整回路は、各入力組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各入力組合せに対応する前記第1精度中間計算結果の指数を調整し、調整した第1精度中間計算結果を前記アキュムレータに出力するように構成され、
前記アキュムレータは、全ての前記入力組合せに対応する前記調整した第1精度中間計算結果に対して総和演算を実行し、前記複数の第1精度浮動小数点数に対して第1精度計算結果を出力するように構成される、請求項3に記載の算術論理演算装置。 - 前記第1精度浮動小数点数は倍精度浮動小数点数であり、前記第2精度浮動小数点数は半精度浮動小数点数であり、前記第3精度中間計算結果は単精度中間計算結果であり、前記第1精度中間計算結果は倍精度中間計算結果であり、前記第1精度計算結果は倍精度計算結果であり、前記第2精度乗算器は半精度乗算器である、請求項10に記載の算術論理演算装置。
- 当該算術論理演算装置は、計算モード切替え回路をさらに含み、
該計算モード切替え回路は、前記計算モード切替え回路が第2精度浮動小数点数の計算モードに設定されている場合に、前記浮動小数点数の分解回路及び指数調整回路を無効に設定するように構成され、
前記第2精度乗算器は、当該算術論理演算装置の外部から入力される、計算すべき第2精度浮動小数点数の複数のグループを受け取り、第2精度浮動小数点数の各グループに対して乗算演算を実行し、及び計算すべき第2精度浮動小数点数の各グループに対応する中間計算結果を入力するように構成され、
前記アキュムレータは、計算すべき第2精度浮動小数点数の全ての入力された前記グループに対応する前記中間計算結果に対して総和演算を実行し、計算すべき第2精度浮動小数点数の前記複数のグループの計算結果を出力するように構成される、請求項1に記載の算術論理演算装置。 - 浮動小数点数の乗算計算方法であって、当該方法は、
計算すべき複数の第1精度浮動小数点数を取得するステップと、
計算すべき各第1精度浮動小数点数を分解して、少なくとも2つの第2精度浮動小数点数を取得するステップであって、前記第2精度浮動小数点数の精度は、前記第1精度浮動小数点数の精度よりも低い、ステップと、
異なる第1精度浮動小数点数を分解して得られる2つの第2精度浮動小数点数を含む様々な組合せを決定するステップと、
各組合せにおける前記第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するステップと、
各組合せに対応する前記中間計算結果に基づいて、前記計算すべき複数の第1精度浮動小数点数の計算結果を決定するステップと、を含む、
方法。 - 計算すべき各第1精度浮動小数点数を分解して、少なくとも2つの第2精度浮動小数点数を取得するステップの後に、
各第2精度浮動小数点数に対応する指数バイアス値を決定するステップをさらに含み、
各組合せに対応する前記中間計算結果に基づいて、前記計算すべき複数の第1精度浮動小数点数の計算結果を決定するステップは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記中間計算結果の指数を調整して、調整した中間計算結果を取得するステップと、
全ての前記組合せに対応する前記調整した中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の前記計算結果を取得するステップと、を含む、請求項13に記載の方法。 - 各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記中間計算結果の指数を調整して、調整した中間計算結果を取得するステップは、
第2精度浮動小数点数の各組合せに対応する前記中間計算結果の指数と、各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値を加算して、前記調整した中間計算結果を取得するステップと、を含む、請求項14に記載の方法。 - 前記中間計算結果は、第1精度中間計算結果であり、前記計算結果は、第1精度計算結果である、請求項13に記載の方法。
- 各組合せにおける前記第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するステップは、
各組合せにおける前記第2精度浮動小数点数を前記第2精度乗算器に入力して、各組合せに対応する第1精度中間計算結果を取得し、各第1精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第3精度中間計算結果を取得するステップを含み、前記第3精度中間計算結果の精度は、前記第1精度中間計算結果の精度よりも高く、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記中間計算結果の指数を調整して、調整した中間計算結果を取得するステップは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記第3精度中間計算結果の指数を調整して、調整した第3精度中間計算結果を取得するステップを含み、
全ての前記組合せに対応する前記調整した中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の前記計算結果を取得するステップは、
全ての前記組合せに対応する前記調整した第3精度中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の第3精度計算結果を取得するステップを含む、請求項14に記載の方法。 - 各第1精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第3精度中間計算結果を取得するステップは、
各第1精度中間計算結果の指数及び仮数に対しゼロパディング処理を実行して、第2精度浮動小数点数の各組合せに対応する前記第3精度中間計算結果を取得するステップを含む、請求項17に記載の方法。 - 各組合せにおける前記第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するステップは、
各組合せにおける前記第2精度浮動小数点数を前記第2精度乗算器に入力して、各組合せに対応する第3精度中間計算結果を取得し、各第3精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第1精度中間計算結果を取得するステップを含み、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記中間計算結果の指数を調整して、調整した中間計算結果を取得するステップは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記第1精度中間計算結果の指数を調整して、調整した第1精度中間計算結果を取得するステップを含み、
前記調整した中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の前記計算結果を取得するステップは、
前記調整した第1精度中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の第1精度計算結果を取得するステップを含む、請求項14に記載の方法。 - 浮動小数点数の乗算計算機器であって、当該機器は、
計算すべき複数の第1精度浮動小数点数を取得するように構成された取得モジュールと、
計算すべき各第1精度浮動小数点数を分解して、少なくとも2つの第2精度浮動小数点数を取得するように構成された分解モジュールであって、前記第2精度浮動小数点数の精度は前記第1精度浮動小数点数よりも低い、分解モジュールと、
異なる第1精度浮動小数点数を分解して得られる2つの第2精度浮動小数点数を含む様々な組合せを決定するように構成された組合せモジュールと、
各組合せにおける前記第2精度浮動小数点数を第2精度乗算器に入力して、各組合せに対応する中間計算結果を取得するように構成された入力モジュールと、
各組合せに対応する前記中間計算結果に基づいて、前記計算すべき複数の第1精度浮動小数点数の計算結果を決定するように構成された決定モジュールと、を含む、
機器。 - 前記分解モジュールは、各第2精度浮動小数点数に対応する指数バイアス値を決定するようにさらに構成され、
前記決定モジュールは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記中間計算結果の指数を調整して、調整した中間計算結果を取得し、及び
全ての前記組合せに対応する前記調整した中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の前記計算結果を取得するように構成される、請求項20に記載の機器。 - 前記決定モジュールは、第2精度浮動小数点数の各組合せに対応する前記中間計算結果の前記指数と、各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値とを加算して、前記調整した中間計算結果を取得するように構成される、請求項21に記載の機器。
- 前記中間計算結果は、第1精度中間計算結果であり、前記計算結果は、第1精度計算結果である、請求項20に記載の機器。
- 前記入力モジュールは、各組合せにおける前記第2精度浮動小数点数を前記第2精度乗算器に入力して、各組合せに対応する第1精度中間計算結果を取得し、各第1精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第3精度中間計算結果を取得するように構成され、前記第3精度中間計算結果の精度は、前記第1精度中間計算結果の精度よりも高く、
前記決定モジュールは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記第3精度中間計算結果の指数を調整して、調整した第3精度中間計算結果を取得し、及び
全ての前記組合せに対応する前記調整した第3精度中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の第3精度計算結果を取得するように構成される、請求項21に記載の機器。 - 前記入力モジュールは、各第1精度中間計算結果の指数及び仮数に対しゼロパディング処理を実行して、各組合せに対応する前記第3精度中間計算結果を取得するように構成される、請求項24に記載の機器。
- 前記入力モジュールは、各組合せにおける前記第2精度浮動小数点数を前記第2精度乗算器に入力して、各組合せに対応する第3精度中間計算結果を取得し、各第3精度中間計算結果に対してフォーマット変換を実行して、各組合せに対応する第1精度中間計算結果を取得するように構成され、
前記決定モジュールは、
各組合せにおける前記第2精度浮動小数点数に対応する前記指数バイアス値に基づいて、各組合せに対応する前記第1精度中間計算結果の指数を調整して、調整した第1精度中間計算結果を取得し、及び
第2精度浮動小数点数の全てのグループに対応する前記調整した第1精度中間計算結果に対して総和演算を実行して、前記複数の第1精度浮動小数点数の第1精度計算結果を取得するように構成される、請求項21に記載の機器。 - 電子装置であって、当該電子装置はプロセッサ及びメモリを含み、該メモリが少なくとも1つの命令を記憶し、該命令は前記プロセッサによってロード及び実行されて、請求項13に記載の浮動小数点数の乗算計算方法で実行される演算を実施する、電子装置。
- プロセッサであって、当該プロセッサは、請求項1に記載の算術論理演算装置を含む、プロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414534.8A CN113126954B (zh) | 2019-12-31 | 2019-12-31 | 浮点数乘法计算的方法、装置和算术逻辑单元 |
CN201911414534.8 | 2019-12-31 | ||
PCT/CN2020/140768 WO2021136259A1 (zh) | 2019-12-31 | 2020-12-29 | 浮点数乘法计算的方法、装置和算术逻辑单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023509121A JP2023509121A (ja) | 2023-03-07 |
JP7407291B2 true JP7407291B2 (ja) | 2023-12-28 |
Family
ID=76686545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022539150A Active JP7407291B2 (ja) | 2019-12-31 | 2020-12-29 | 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220334798A1 (ja) |
EP (1) | EP4064036A4 (ja) |
JP (1) | JP7407291B2 (ja) |
CN (2) | CN116594589B (ja) |
BR (1) | BR112022012566A2 (ja) |
WO (1) | WO2021136259A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218508A1 (en) * | 2020-03-13 | 2020-07-09 | Intel Corporation | Floating-point decomposition circuitry with dynamic precision |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196079A (ja) | 2001-12-28 | 2003-07-11 | Fujitsu Ltd | 積和演算装置、及び積和演算方法 |
JP2010027049A (ja) | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) |
JP2012069123A (ja) | 2005-10-05 | 2012-04-05 | Qualcomm Inc | 選択可能な下位精度を有する浮動小数点プロセッサ |
JP2017010512A (ja) | 2014-07-02 | 2017-01-12 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 計算制御インジケータキャッシュ |
US20190042244A1 (en) | 2018-09-27 | 2019-02-07 | Intel Corporation | Computer processor for higher precision computations using a mixed-precision decomposition of operations |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910059B2 (en) * | 2002-07-09 | 2005-06-21 | Silicon Integrated Systems Corp. | Apparatus and method for calculating an exponential calculating result of a floating-point number |
TWI235948B (en) * | 2004-02-11 | 2005-07-11 | Via Tech Inc | Accumulatively adding device and method |
CN101685383A (zh) * | 2008-09-28 | 2010-03-31 | 杨高祥 | 计算器、基于直接对阶的自由精度浮点数的运算电路 |
CN101770355B (zh) * | 2009-12-30 | 2011-11-16 | 龙芯中科技术有限公司 | 兼容双精度和双单精度的浮点乘加器及其兼容处理方法 |
CN103809931A (zh) * | 2012-11-06 | 2014-05-21 | 西安元朔科技有限公司 | 一种专用高速浮点指数运算器的设计 |
CN105094744B (zh) * | 2015-07-28 | 2018-01-16 | 成都腾悦科技有限公司 | 一种可变浮点数据微处理器 |
CN105224284B (zh) * | 2015-09-29 | 2017-12-08 | 北京奇艺世纪科技有限公司 | 一种浮点数处理方法及装置 |
CN105224283B (zh) * | 2015-09-29 | 2017-12-08 | 北京奇艺世纪科技有限公司 | 一种浮点数处理方法及装置 |
CN105634499B (zh) * | 2015-12-30 | 2020-12-01 | 广东工业大学 | 一种基于新短浮点型数据的数据转换方法 |
CN107273090B (zh) * | 2017-05-05 | 2020-07-31 | 中国科学院计算技术研究所 | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 |
CN107291419B (zh) * | 2017-05-05 | 2020-07-31 | 中国科学院计算技术研究所 | 用于神经网络处理器的浮点乘法器及浮点数乘法 |
CN109284827A (zh) * | 2017-07-19 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 神经网络计算方法、设备、处理器及计算机可读存储介质 |
CN108196822B (zh) * | 2017-12-24 | 2021-12-17 | 北京卫星信息工程研究所 | 一种双精度浮点开方运算的方法及系统 |
US10657442B2 (en) * | 2018-04-19 | 2020-05-19 | International Business Machines Corporation | Deep learning accelerator architecture with chunking GEMM |
US10691413B2 (en) * | 2018-05-04 | 2020-06-23 | Microsoft Technology Licensing, Llc | Block floating point computations using reduced bit-width vectors |
CN109901813B (zh) * | 2019-03-27 | 2023-07-07 | 北京市合芯数字科技有限公司 | 一种浮点运算装置及方法 |
US11169776B2 (en) * | 2019-06-28 | 2021-11-09 | Intel Corporation | Decomposed floating point multiplication |
CN110515584A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 浮点计算方法及系统 |
-
2019
- 2019-12-31 CN CN202310511127.9A patent/CN116594589B/zh active Active
- 2019-12-31 CN CN201911414534.8A patent/CN113126954B/zh active Active
-
2020
- 2020-12-29 JP JP2022539150A patent/JP7407291B2/ja active Active
- 2020-12-29 BR BR112022012566A patent/BR112022012566A2/pt not_active Application Discontinuation
- 2020-12-29 EP EP20909798.9A patent/EP4064036A4/en active Pending
- 2020-12-29 WO PCT/CN2020/140768 patent/WO2021136259A1/zh unknown
-
2022
- 2022-06-30 US US17/855,555 patent/US20220334798A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196079A (ja) | 2001-12-28 | 2003-07-11 | Fujitsu Ltd | 積和演算装置、及び積和演算方法 |
JP2012069123A (ja) | 2005-10-05 | 2012-04-05 | Qualcomm Inc | 選択可能な下位精度を有する浮動小数点プロセッサ |
JP2010027049A (ja) | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットを用いる回路装置、集積回路装置、プログラム製品、および方法(動的値域調整浮動小数点実行ユニット) |
JP2017010512A (ja) | 2014-07-02 | 2017-01-12 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 計算制御インジケータキャッシュ |
US20190042244A1 (en) | 2018-09-27 | 2019-02-07 | Intel Corporation | Computer processor for higher precision computations using a mixed-precision decomposition of operations |
Also Published As
Publication number | Publication date |
---|---|
WO2021136259A1 (zh) | 2021-07-08 |
CN116594589A (zh) | 2023-08-15 |
EP4064036A1 (en) | 2022-09-28 |
CN116594589B (zh) | 2024-03-26 |
BR112022012566A2 (pt) | 2022-09-06 |
US20220334798A1 (en) | 2022-10-20 |
JP2023509121A (ja) | 2023-03-07 |
CN113126954A (zh) | 2021-07-16 |
CN113126954B (zh) | 2024-04-09 |
EP4064036A4 (en) | 2023-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114402289B (zh) | 多模式运算电路 | |
WO2021147395A1 (zh) | 算数逻辑单元、浮点数乘法计算的方法及设备 | |
RU2412462C2 (ru) | Процессор с плавающей запятой с пониженной потребляемой мощностью для выбираемой субточности | |
US8694572B2 (en) | Decimal floating-point fused multiply-add unit | |
US7912890B2 (en) | Method and apparatus for decimal number multiplication using hardware for binary number operations | |
KR102581403B1 (ko) | 공유 하드웨어 로직 유닛 및 그것의 다이 면적을 줄이는 방법 | |
Hormigo et al. | Measuring improvement when using HUB formats to implement floating-point systems under round-to-nearest | |
JP7407291B2 (ja) | 浮動小数点数の乗算計算方法及び機器、並びに算術論理演算装置 | |
KR20170138143A (ko) | 단일 곱셈-누산 방법 및 장치 | |
US6182100B1 (en) | Method and system for performing a logarithmic estimation within a data processing system | |
JP4273071B2 (ja) | 除算・開平演算器 | |
US20070266073A1 (en) | Method and apparatus for decimal number addition using hardware for binary number operations | |
CN115827555B (zh) | 数据处理方法、计算机设备、存储介质和乘法器结构 | |
KR20180049789A (ko) | 높은 기수 16 제곱근 추정 | |
JPH02294731A (ja) | 浮動小数点数演算処理装置及び除数倍数生成装置 | |
TW202333041A (zh) | 執行浮點運算的系統及方法 | |
US10289413B2 (en) | Hybrid analog-digital floating point number representation and arithmetic | |
US8180822B2 (en) | Method and system for processing the booth encoding 33RD term | |
US20230289141A1 (en) | Operation unit, floating-point number calculation method and apparatus, chip, and computing device | |
Babu et al. | Area and power efficient fused floating-point dot product unit based on radix-2r multiplier & pipeline feedforward-cutset-free carry-lookahead adder | |
US20140164463A1 (en) | Exponent flow checking | |
JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
Immaneni et al. | PosAx-O: Exploring Operator-level Approximations for Posit Arithmetic in Embedded AI/ML | |
CN114186186A (zh) | 矩阵计算方法及相关设备 | |
US8301680B2 (en) | Apparatus and method to compute reciprocal approximations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220624 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231025 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7407291 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |