JP2022093455A - 計算装置 - Google Patents
計算装置 Download PDFInfo
- Publication number
- JP2022093455A JP2022093455A JP2022073018A JP2022073018A JP2022093455A JP 2022093455 A JP2022093455 A JP 2022093455A JP 2022073018 A JP2022073018 A JP 2022073018A JP 2022073018 A JP2022073018 A JP 2022073018A JP 2022093455 A JP2022093455 A JP 2022093455A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- circuit
- module
- variable
- arithmetic
- 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
- 230000015654 memory Effects 0.000 claims abstract description 360
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000005457 optimization Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 120
- 238000010586 diagram Methods 0.000 description 18
- 230000010365 information processing Effects 0.000 description 12
- 239000000872 buffer Substances 0.000 description 11
- 201000006054 Mulibrey nanism Diseases 0.000 description 10
- 241001442055 Vipera berus Species 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 101710092887 Integrator complex subunit 4 Proteins 0.000 description 2
- 102100037075 Proto-oncogene Wnt-3 Human genes 0.000 description 2
- 101100008052 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cut8 gene Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101150115300 MAC1 gene Proteins 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
図1は、第1実施形態に係る計算装置を示す模式図である。
図1に示すように、本実施形態に係る計算装置120は、第1メモリ11、第2メモリ12、第3メモリ13、第1演算モジュール21及び第2演算モジュール22を含む。これらのメモリは、例えば、保持部10に含まれる。これらの演算モジュールは、例えば、演算部20に含まれる。
計算装置120は、第1変数群{x}およびそれから計算される値を、インターフェース回路71から出力することができる。
図2(b)は、図2(a)に示す例のJX関数回路JXFで行われる演算を例示している。図3(b)は、図3(a)に示す例のJX関数回路JXFで行われる演算を例示している。
図4~図6、図7(a)~図7(c)、図8(a)~図8(c)、図9(a)、図9(b)、図10、図11(a)、図11(b)、図12(a)及び図12(b)は、第1実施形態に係る計算装置を示す模式図である。
図13及び図14は、第1実施形態に係る計算装置における動作を例示する模式図である。
図13及び図14は、図2(a)及び図3(a)に示す例におけるタイムチャートに対応する。
図6に示すように、1つの積和モジュール22c(MAC演算モジュール)は、Pc個の乗算器MUL(乗算器MUL0~MULPc-1)を含む。さらに、「Pc対1」の加算器ツリーADDtree(「add tree」)、及び、アキュムレータACCが設けられる。Pc個の乗算器MULのそれぞれにおいて、第1変数群{x}の1つ(第1変数xiなど)と、第1パラメータ群{J}の1つ(第1パラメータJi,jなど)と、の乗算が行われる。乗算の結果が、加算器ツリーADDtreeに出力される。加算器ツリーADtreeの出力が、アキュムレータACCに供給される。アキュムレータACCから、出力Aoutが出力される。
図7(a)に示すように、1つの例において、乗算器MULは、固定小数点乗算器または浮動小数点乗算器を含む。この構成は、例えば、「Xin」及び「Jin」の両方が、「INT](符号付き固定小数点)表現、または、「Float」(符号付き浮動小数点)表現の時に使用される。
図15は、第2実施形態に係る計算装置を例示する模式図である。
図15に示すように、本実施形態においては、JX演算及びFY演算が、Block0~3の4つの部分(Block)に分割されて行われる。
図16に示す例において、例えば、1つの半導体チップ内に、複数のJXFXFYモジュールJXFXFYMが設けられる(チップ内分割)。複数のJXFXFYモジュールJXFXFYの1つは、Xmemと、Ymemと、Jmemと、JXモジュールJXMと、及び、FXFYモジュールFXFYMを含む。JXFXY0の、Xmem0、Ymem0及びJmem0は、BLOCK0に含まれる、X_B0データ、Y_B0データ、及び、J_B0データをそれぞれ保持する。JXFXY3の、Xmem3、Ymem3及びJmem3は、BLOCK3に含まれる、X_B3データ、Y_B3データ、及び、J_B3データをそれぞれ保持する。複数のJXFXFYモジュールJXFXFYMが、同時並列的に、複数のBlockにおける演算を行う。
図17に示す例では、複数の半導体チップに、JXFXFYモジュールが設けられる(マルチチップ実装)。複数の半導体チップは、相互接続配線により、互いに接続される。例えば、Chip0~Chip3が設けられる。これらのチップのそれぞれに、第1メモリ11(Xmemメモリ及びX’memメモリ)、第2メモリ12(Ymemメモリ)、第3メモリ13(Jmemメモリ)、JXモジュールJXM、FXFYモジュールFXFYM、及び、Control Logic回路が設けられる。
これらの図は、複数のチップの相互接続配線による接続に関するいくつかの例を示している。相互接続配線には、BUS接続及びクロスバが含まれる。
図19(a)の例においては、JX演算の後で、FXFY演算が行われる。
図20に示すように、情報処理装置210は、計算装置120を含む。この例では、情報処理装置120に、複数の計算装置120が設けられる。シリアルリンク73は、例えば、複数の計算装置120を相互に接続する。
(構成1)
第1メモリと、
第2メモリと、
第3メモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1メモリの出力端子は、前記第1演算モジュールの入力端子に接続され、
前記第1メモリの前記出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第2メモリの出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第3メモリの出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第2演算モジュールの出力端子は、前記第1演算モジュールの入力端子に接続される、計算装置。
(構成2)
前記第2演算モジュールは、JX関数回路及びJX更新回路を含み、
記第1メモリの前記出力端子及び前記第3メモリの前記出力端子は、前記JX関数回路の入力端子に接続され、
前記JX関数回路の出力端子及び前記第2メモリの前記出力端子は、前記JX更新回路の入力端子に接続され、
前記JX更新回路の出力端子は、前記第1演算モジュールの入力端子に接続される、構成1記載の計算装置。
(構成3)
前記第2演算モジュールの前記出力端子は、前記JX更新回路の出力端子を含む、構成2記載の計算装置。
(構成4)
前記第1演算モジュールは、1または複数の回路セットを含み、
前記回路セットは、第1演算回路及び第2演算回路を含み、
前記第1演算回路は、FX関数回路及びFX更新回路を含み、
前記第2演算回路は、FY関数回路及びFY更新回路を含み、
前記FX関数回路の出力端子は、前記FX更新回路の入力端子に接続され、
前記FX更新回路の出力端子は、前記FY関数回路の入力端子に接続され、
前記FY関数回路の出力端子は、前記FY更新回路の入力端子に接続される、構成1~3のいずれか1つに記載の計算装置。
(構成5)
前記第1演算モジュールは、モジュール入力端子1とモジュール入力端子2とモジュール出力端子1とモジュール出力端子2を含み、
前記モジュール入力端子1は前記FX関数回路の入力端子と前記FY更新回路の入力端子とに接続され、
前記モジュール入力端子2は前記FX更新回路の入力端子に接続され、
前記モジュール出力端子1は前記FY更新回路の出力端子に接続され、
前記モジュール出力端子2は前記FX更新回路の出力端子に接続され、
構成4記載の計算装置。
(構成6)
前記複数の回路セットが設けられ、
前記複数の回路セットの別の1つは、別の第1演算回路及び別の第2演算回路を含み、
前記別の第1演算回路は、別のFX関数回路及び別のFX更新回路を含み、
前記別の第2演算回路は、別のFY関数回路及び別のFY更新回路を含み、
前記別のFX関数回路の出力端子は、前記別のFX更新回路の入力端子に接続され、
前記別のFX更新回路の出力端子は、前記別のFY関数回路の入力端子に接続され、
前記別のFY関数回路の出力端子は、前記別のFY更新回路の入力端子に接続され、
前記FX更新回路の前記出力端子は、前記別のFX更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記別のFX関数回路の入力端子と前記別のFY更新回路の入力端子とに接続される、構成5記載の計算装置。
(構成7)
前記第1演算モジュールは、1または複数の回路セットを含み、
前記回路セットは、第1演算回路及び第2演算回路を含み、
前記第1演算回路は、FX関数回路及びFX更新回路を含み、
前記第2演算回路は、FY関数回路及びFY更新回路を含み、
前記FY関数回路の出力端子は、前記FY更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記FX関数回路の入力端子に接続され、
前記FX関数回路の出力端子は、前記FX更新回路の入力端子に接続される、構成1~3のいずれか1つに記載の計算装置。
(構成8)
前記第1演算モジュールは、モジュール入力端子1とモジュール入力端子2とモジュール出力端子1とモジュール出力端子2を含み、
前記モジュール入力端子1は前記FY更新回路の入力端子に接続され、
前記モジュール入力端子2は前記FY関数回路の入力端子と前記FX更新回路の入力端子とに接続され、
前記モジュール出力端子1は前記FY更新回路の出力端子に接続され、
前記モジュール出力端子2は前記FX更新回路の出力端子に接続され、
構成7に記載の計算装置。
(構成9)
前記複数の回路セットが設けられ、
前記複数の回路セットの別の1つは、別の第1演算回路及び別の第2演算回路を含み、
前記別の第1演算回路は、別のFX関数回路及び別のFX更新回路を含み、
前記別の第2演算回路は、別のFY関数回路及び別のFY更新回路を含み、
前記別のFY関数回路の出力端子は、前記別のFY更新回路の入力端子に接続され、
前記別のFY更新回路の出力端子は、前記別のFX関数回路の入力端子に接続され、
前記別のFX関数回路の出力端子は、前記別のFX更新回路の入力端子に接続され、
前記FX更新回路の前記出力端子は、前記別のFY関数回路の入力端子と前記別のFX更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記別のFY更新回路の入力端子に接続される、構成7記載の計算装置。
(構成10)
前記第2演算モジュールの前記出力は、前記FX更新回路に入力され、
前記第1メモリの前記出力は、前記FY更新回路に入力される、構成4~9のいずれか1つに記載の計算装置。
(構成11)
前記第1演算モジュールの出力端子の一部は、前記第1メモリの入力端子に接続され、
前記第1演算モジュールの出力端子の別の一部は、前記第2メモリの入力端子に接続される、構成1~10のいずれか1つに記載の計算装置。
(構成12)
前記第1メモリは、第1メモリ部分と、第2メモリ部分と、を含み、
前記第1メモリ部分が読み出し動作を実施している時に、前記第2メモリ部分が書き込み動作を実施し、
前記第2メモリ部分が読み出し動作を実施している時に、前記第1メモリ部分が書き込み動作を実施する、構成1~11のいずれか1つに記載の計算装置。
(構成13)
前記第1メモリは、第1変数群{x}を保持し、
前記第2メモリは、第2変数群{y}を保持し、
前記第3メモリは、第1パラメータ群{J}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
前記第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、
前記第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、
前記第1演算モジュールは、第1変数更新及び第1サブ更新を実施し、
前記第2演算モジュールは、第2サブ更新を実施し、
前記第1変数更新は、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新することを含み、
前記第1サブ更新は、前記i番目の前記第2変数yiを前記i番目の前記第1変数xiに基づいて更新することを含み、
前記第2サブ更新は、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新することを含む、構成1~12記載の計算装置。
(構成14)
前記第1演算モジュールは複数の乗算器を備え、
前記第2サブ更新に含まれる前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、同一クロックにおいて実施する、構成1~13のいずれか1つに記載の計算装置。
(構成15)
複数の第1配線、及び、複数の第2配線をさらに備え、
前記第1パラメータ群{J}は、N×N(Nは2以上の整数)の行列を含み、
前記第2モジュールは、Pr個(Prは2以上前記N以下の整数であり、前記Nの約数)の積和モジュールMACを含み、前記Pr個の積和モジュールの1つは、Pc個(Pcは2以上N以下の整数であり、前記Nの約数)の乗算器を含み、前記Prは、前記行列の行の並列度に対応し、前記Pcは、前記行列の列の並列度に対応し、
前記第1メモリは、前記第1メモリが前記Pc個に分割された前記Pc個の第1メモリブロックを含み、
前記第3メモリは、前記第3メモリが前記Pc個に分割された前記Pc個の第3メモリブロックを含み、
前記複数の第1配線の1つは、前記Pc個の前記第1メモリブロックの1つと、前記Pr個の前記積和モジュールの全てと、を接続し、
前記複数の第1配線の別の1つは、前記Pc個の前記第1メモリブロックの別の1つと、前記Pr個の前記積和モジュールの別の全てと、を接続し、
前記複数の第2配線の1つは、前記Pc個の前記第3メモリブロックの1つと、前記Pr個の前記積和モジュールの1つと、を接続し、
前記複数の第2配線の別の1つは、前記Pc個の前記第3メモリブロックの前記1つと、前記Pr個の前記積和モジュールの別の1つと、を接続する、構成1~13のいずれか1つに記載の計算装置。
(構成16)
前記Pr個の前記積和モジュールの少なくとも1つは、復号器を含む乗算器、及び、データ型変換器を含む乗算器の少なくともいずれかを含む、構成15記載の計算装置。
(構成17)
第1グローバルメモリと、第0モジュールと、第1モジュールと、を備え、
前記第0モジュールは、
記第01メモリと、
第02メモリと、
第03メモリと、
第01演算モジュールと、
第02演算モジュールと、
を含み、
前記第01メモリの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第1グローバルメモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第03メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02演算モジュールの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01演算モジュールの出力端子の一部は、前記第01メモリの入力端子と前記第1グローバルメモリの入力端子とに接続され、
第1モジュールは、
第11メモリと、
第12メモリと、
第13メモリと、
第11演算モジュールと、
第12演算モジュールと、
を含み、
前記第11メモリの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第1グローバルメモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第13メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12演算モジュールの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11演算モジュールの出力端子の一部は、前記第11メモリの入力端子と前記第1グローバルメモリの入力端子とに接続される、計算装置。
(構成18)
第0チップと、第1チップと、相互接続配線と、を備え、
前記第0チップは、
第01メモリと、
第02メモリと、
第03メモリと、
第01演算モジュールと、
第02演算モジュールと、
第0チップ入力端子と、
第0チップ出力端子と、
を含み、
前記第01メモリは、第01ローカルメモリと第01グローバルメモリとを含み、
前記第01ローカルメモリの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01グローバルメモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第03メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02演算モジュールの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01演算モジュールの出力端子の一部は、前記第01ローカルメモリの入力端子 と前記第0チップ出力端子とに接続され、
前記第0チップ入力端子は、前記第01グローバルメモリの入力端子に接続され、
前記第0チップ入力端子と前記第0チップ出力端子とは前記相互接続配線に接続され、
前記1モジュールは、
第11メモリと、
第12メモリと、
第13メモリと、
第11演算モジュールと、
第12演算モジュールと、
第1チップ入力端子と、
第1チップ出力端子と、
を含み、
前記第11メモリは、第11ローカルメモリと第11グローバルメモリとを含み、
前記第11ローカルメモリの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11グローバルメモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第13メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12演算モジュールの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11演算モジュールの出力端子の一部は、前記第11ローカルメモリの入力端子と前記第1チップ出力端子とに接続され、
前記第1チップ入力端子は、前記第11グローバルメモリの入力端子に接続され、
前記第0チップ入力端子と前記第0チップ出力端子と前記第1チップ入力端子と前記第1チップ出力端子とは前記相互接続配線に接続される、計算装置。
図16に示す例において、例えば、1つの半導体チップ内に、複数のJXFXFYモジュールJXFXFYMが設けられる(チップ内分割)。複数のJXFXFYモジュールJXFXFYMの1つは、Xmemと、Ymemと、Jmemと、JXモジュールJXMと、及び、FXFYモジュールFXFYMを含む。JXFXY0の、Xmem0、Ymem0及びJmem0は、BLOCK0に含まれる、X_B0データ、Y_B0データ、及び、J_B0データをそれぞれ保持する。JXFXY3の、Xmem3、Ymem3及びJmem3は、BLOCK3に含まれる、X_B3データ、Y_B3データ、及び、J_B3データをそれぞれ保持する。複数のJXFXFYモジュールJXFXFYMが、同時並列的に、複数のBlockにおける演算を行う。
図20に示すように、情報処理装置210は、計算装置120を含む。この例では、情報処理装置210に、複数の計算装置120が設けられる。シリアルリンク73は、例えば、複数の計算装置120を相互に接続する。
(構成1)
第1メモリと、
第2メモリと、
第3メモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1メモリの出力端子は、前記第1演算モジュールの入力端子に接続され、
前記第1メモリの前記出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第2メモリの出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第3メモリの出力端子は、前記第2演算モジュールの入力端子に接続され、
前記第2演算モジュールの出力端子は、前記第1演算モジュールの入力端子に接続される、計算装置。
(構成2)
前記第2演算モジュールは、JX関数回路及びJX更新回路を含み、
記第1メモリの前記出力端子及び前記第3メモリの前記出力端子は、前記JX関数回路の入力端子に接続され、
前記JX関数回路の出力端子及び前記第2メモリの前記出力端子は、前記JX更新回路の入力端子に接続され、
前記JX更新回路の出力端子は、前記第1演算モジュールの入力端子に接続される、構成1記載の計算装置。
(構成3)
前記第1演算モジュールは、1または複数の回路セットを含み、
前記回路セットは、第1演算回路及び第2演算回路を含み、
前記第1演算回路は、FX関数回路及びFX更新回路を含み、
前記第2演算回路は、FY関数回路及びFY更新回路を含み、
前記FX関数回路の出力端子は、前記FX更新回路の入力端子に接続され、
前記FX更新回路の出力端子は、前記FY関数回路の入力端子に接続され、
前記FY関数回路の出力端子は、前記FY更新回路の入力端子に接続される、構成1または2に記載の計算装置。
(構成4)
前記第1演算モジュールは、モジュール入力端子1とモジュール入力端子2とモジュール出力端子1とモジュール出力端子2を含み、
前記モジュール入力端子1は前記FX関数回路の入力端子と前記FY更新回路の入力端子とに接続され、
前記モジュール入力端子2は前記FX更新回路の入力端子に接続され、
前記モジュール出力端子1は前記FY更新回路の出力端子に接続され、
前記モジュール出力端子2は前記FX更新回路の出力端子に接続され、
構成3記載の計算装置。
(構成5)
前記複数の回路セットが設けられ、
前記複数の回路セットの別の1つは、別の第1演算回路及び別の第2演算回路を含み、
前記別の第1演算回路は、別のFX関数回路及び別のFX更新回路を含み、
前記別の第2演算回路は、別のFY関数回路及び別のFY更新回路を含み、
前記別のFX関数回路の出力端子は、前記別のFX更新回路の入力端子に接続され、
前記別のFX更新回路の出力端子は、前記別のFY関数回路の入力端子に接続され、
前記別のFY関数回路の出力端子は、前記別のFY更新回路の入力端子に接続され、
前記FX更新回路の前記出力端子は、前記別のFX更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記別のFX関数回路の入力端子と前記別のFY更新回路の入力端子とに接続される、構成4記載の計算装置。
(構成6)
前記第1演算モジュールは、1または複数の回路セットを含み、
前記回路セットは、第1演算回路及び第2演算回路を含み、
前記第1演算回路は、FX関数回路及びFX更新回路を含み、
前記第2演算回路は、FY関数回路及びFY更新回路を含み、
前記FY関数回路の出力端子は、前記FY更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記FX関数回路の入力端子に接続され、
前記FX関数回路の出力端子は、前記FX更新回路の入力端子に接続される、構成1または2に記載の計算装置。
(構成7)
前記第1演算モジュールは、モジュール入力端子1とモジュール入力端子2とモジュール出力端子1とモジュール出力端子2を含み、
前記モジュール入力端子1は前記FY更新回路の入力端子に接続され、
前記モジュール入力端子2は前記FY関数回路の入力端子と前記FX更新回路の入力端子とに接続され、
前記モジュール出力端子1は前記FY更新回路の出力端子に接続され、
前記モジュール出力端子2は前記FX更新回路の出力端子に接続され、
構成6記載の計算装置。
(構成8)
前記複数の回路セットが設けられ、
前記複数の回路セットの別の1つは、別の第1演算回路及び別の第2演算回路を含み、
前記別の第1演算回路は、別のFX関数回路及び別のFX更新回路を含み、
前記別の第2演算回路は、別のFY関数回路及び別のFY更新回路を含み、
前記別のFY関数回路の出力端子は、前記別のFY更新回路の入力端子に接続され、
前記別のFY更新回路の出力端子は、前記別のFX関数回路の入力端子に接続され、
前記別のFX関数回路の出力端子は、前記別のFX更新回路の入力端子に接続され、
前記FX更新回路の前記出力端子は、前記別のFY関数回路の入力端子と前記別のFX更新回路の入力端子に接続され、
前記FY更新回路の出力端子は、前記別のFY更新回路の入力端子に接続される、構成6記載の計算装置。
(構成9)
前記第2演算モジュールの前記出力は、前記FX更新回路に入力され、
前記第1メモリの前記出力は、前記FY更新回路に入力される、構成3~8のいずれか1つに記載の計算装置。
(構成10)
前記第1演算モジュールの出力端子の一部は、前記第1メモリの入力端子に接続され、
前記第1演算モジュールの出力端子の別の一部は、前記第2メモリの入力端子に接続される、構成1~9のいずれか1つに記載の計算装置。
(構成11)
前記第1メモリは、第1メモリ部分と、第2メモリ部分と、を含み、
前記第1メモリ部分が読み出し動作を実施している時に、前記第2メモリ部分が書き込み動作を実施し、
前記第2メモリ部分が読み出し動作を実施している時に、前記第1メモリ部分が書き込み動作を実施する、構成1~10のいずれか1つに記載の計算装置。
(構成12)
前記第1メモリは、第1変数群{x}を保持し、
前記第2メモリは、第2変数群{y}を保持し、
前記第3メモリは、第1パラメータ群{J}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
前記第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、
前記第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、
前記第1演算モジュールは、第1変数更新及び第1サブ更新を実施し、
前記第2演算モジュールは、第2サブ更新を実施し、
前記第1変数更新は、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新することを含み、
前記第1サブ更新は、前記i番目の前記第2変数yiを前記i番目の前記第1変数xiに基づいて更新することを含み、
前記第2サブ更新は、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新することを含む、構成1~11のいずれか1つに記載の計算装置。
(構成13)
前記第2演算モジュールは複数の乗算器を備え、
前記第2サブ更新に含まれる前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、同一クロックにおいて実施する、構成12記載の計算装置。
(構成14)
複数の第1配線、及び、複数の第2配線をさらに備え、
前記第1パラメータ群{J}は、N×N(Nは2以上の整数)の行列を含み、
前記第2演算モジュールは、Pr個(Prは2以上前記N以下の整数であり、前記Nの約数)の積和モジュールを含み、前記Pr個の積和モジュールの1つは、Pc個(Pcは2以上N以下の整数であり、前記Nの約数)の乗算器を含み、前記Prは、前記行列の行の並列度に対応し、前記Pcは、前記行列の列の並列度に対応し、
前記第1メモリは、前記第1メモリが前記Pc個に分割された前記Pc個の第1メモリブロックを含み、
前記第3メモリは、前記第3メモリが前記Pc個に分割された前記Pc個の第3メモリブロックを含み、
前記複数の第1配線の1つは、前記Pc個の前記第1メモリブロックの1つと、前記Pr個の前記積和モジュールの全てと、を接続し、
前記複数の第1配線の別の1つは、前記Pc個の前記第1メモリブロックの別の1つと、前記Pr個の前記積和モジュールの別の全てと、を接続し、
前記複数の第2配線の1つは、前記Pc個の前記第3メモリブロックの1つと、前記Pr個の前記積和モジュールの1つと、を接続し、
前記複数の第2配線の別の1つは、前記Pc個の前記第3メモリブロックの前記1つと、前記Pr個の前記積和モジュールの別の1つと、を接続する、構成12または13に記載の計算装置。
(構成15)
前記Pr個の前記積和モジュールの少なくとも1つは、復号器を含む乗算器、及び、データ型変換器を含む乗算器の少なくともいずれかを含む、構成14記載の計算装置。
(構成16)
第1グローバルメモリと、第0モジュールと、第1モジュールと、を備え、
前記第0モジュールは、
第01メモリと、
第02メモリと、
第03メモリと、
第01演算モジュールと、
第02演算モジュールと、
を含み、
前記第01メモリの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第1グローバルメモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第03メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02演算モジュールの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01演算モジュールの出力端子の一部は、前記第01メモリの入力端子と前記第1グローバルメモリの入力端子とに接続され、
第1モジュールは、
第11メモリと、
第12メモリと、
第13メモリと、
第11演算モジュールと、
第12演算モジュールと、
を含み、
前記第11メモリの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第1グローバルメモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第13メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12演算モジュールの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11演算モジュールの出力端子の一部は、前記第11メモリの入力端子と前記第1グローバルメモリの入力端子とに接続される、計算装置。
(構成17)
第0チップと、第1チップと、相互接続配線と、を備え、
前記第0チップは、
第01メモリと、
第02メモリと、
第03メモリと、
第01演算モジュールと、
第02演算モジュールと、
第0チップ入力端子と、
第0チップ出力端子と、
を含み、
前記第01メモリは、第01ローカルメモリと第01グローバルメモリとを含み、
前記第01ローカルメモリの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01グローバルメモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第03メモリの出力端子は、前記第02演算モジュールの入力端子に接続され、
前記第02演算モジュールの出力端子は、前記第01演算モジュールの入力端子に接続され、
前記第01演算モジュールの出力端子の一部は、前記第01ローカルメモリの入力端子 と前記第0チップ出力端子とに接続され、
前記第0チップ入力端子は、前記第01グローバルメモリの入力端子に接続され、
前記第0チップ入力端子と前記第0チップ出力端子とは前記相互接続配線に接続され、
前記1チップは、
第11メモリと、
第12メモリと、
第13メモリと、
第11演算モジュールと、
第12演算モジュールと、
第1チップ入力端子と、
第1チップ出力端子と、
を含み、
前記第11メモリは、第11ローカルメモリと第11グローバルメモリとを含み、
前記第11ローカルメモリの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11グローバルメモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第13メモリの出力端子は、前記第12演算モジュールの入力端子に接続され、
前記第12演算モジュールの出力端子は、前記第11演算モジュールの入力端子に接続され、
前記第11演算モジュールの出力端子の一部は、前記第11ローカルメモリの入力端子と前記第1チップ出力端子とに接続され、
前記第1チップ入力端子は、前記第11グローバルメモリの入力端子に接続され、
前記第0チップ入力端子と前記第0チップ出力端子と前記第1チップ入力端子と前記第1チップ出力端子とは前記相互接続配線に接続される、計算装置。
Claims (8)
- 第1メモリと、
第2メモリと、
第3メモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1メモリは、第1変数群{x}を保持し、
前記第2メモリは、第2変数群{y}を保持し、
前記第3メモリは、第1パラメータ群{J}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
前記第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、
前記第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、
前記第1演算モジュールは、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新し、
前記第2演算モジュールは、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新する、計算装置。 - 第1メモリと、
第2メモリと、
第3メモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1メモリは、第1変数群{x}を保持し、
前記第2メモリは、第2変数群{y}を保持し、
前記第3メモリは、第1パラメータ群{J}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
前記第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、
前記第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、
前記第1演算モジュールは、第1変数更新及び第1サブ更新を実施し、
前記第2演算モジュールは、第2サブ更新を実施し、
前記第1変数更新は、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新することを含み、
前記第1サブ更新は、前記i番目の前記第2変数yiを前記i番目の前記第1変数xiに基づいて更新することを含み、
前記第2サブ更新は、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新することを含む、計算装置。 - 前記第1メモリの出力は、前記第1演算モジュールに入力され、
前記第1メモリの前記出力は、前記第2演算モジュールに入力され、
前記第2メモリの出力は、前記第2演算モジュールに入力され、
前記第3メモリの出力は、前記第2演算モジュールに入力され、
前記第2演算モジュールの出力は、前記第1演算モジュールに入力される、請求項1または2に記載の計算装置。 - 前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、並列に実施する、請求項1~3のいずれか1つに記載の計算装置。
- 前記第1演算モジュールの一部は、前記i番目の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、前記j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項4記載の計算装置。 - 前記第1演算モジュールの一部は、前記i番目の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、前記j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項1~3のいずれか1つに記載の計算装置。 - 複数の第1配線、及び、複数の第2配線をさらに備え、
前記第1パラメータ群{J}は、N×N(Nは2以上の整数)の行列を含み、
前記第2演算モジュールは、Pr個(Prは2以上前記N以下の整数であり、前記Nの約数)の積和モジュールを含み、前記Pr個の積和モジュールの1つは、Pc個(Pcは2以上N以下の整数であり、前記Nの約数)の乗算器を含み、前記Prは、前記行列の行の並列度に対応し、前記Pcは、前記行列の列の並列度に対応し、
前記第1メモリは、前記第1メモリが前記Pc個に分割された前記Pc個の第1メモリブロックを含み、
前記第3メモリは、前記第3メモリが前記Pc個に分割された前記Pc個の第3メモリブロックを含み、
前記複数の第1配線の1つは、前記Pc個の前記第1メモリブロックの1つと、前記Pr個の前記積和モジュールの全てと、を接続し、
前記複数の第1配線の別の1つは、前記Pc個の前記第1メモリブロックの別の1つと、前記Pr個の前記積和モジュールの別の全てと、を接続し、
前記複数の第2配線の1つは、前記Pc個の前記第3メモリブロックの1つと、前記Pr個の前記積和モジュールの1つと、を接続し、
前記複数の第2配線の別の1つは、前記Pc個の前記第3メモリブロックの前記1つと、前記Pr個の前記積和モジュールの別の1つと、を接続する、請求項1~6のいずれか1つに記載の計算装置。 - 前記Pr個の前記積和モジュールの少なくとも1つは、復号器を含む乗算器、及び、データ型変換器を含む乗算器の少なくともいずれかを含む、請求項7記載の計算装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022073018A JP7254993B2 (ja) | 2020-12-11 | 2022-04-27 | 計算装置 |
JP2023034946A JP7436724B2 (ja) | 2020-12-11 | 2023-03-07 | 計算装置 |
JP2024016738A JP2024036567A (ja) | 2020-12-11 | 2024-02-07 | 計算装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020205993A JP7072041B2 (ja) | 2020-12-11 | 2020-12-11 | 計算装置 |
JP2022073018A JP7254993B2 (ja) | 2020-12-11 | 2022-04-27 | 計算装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020205993A Division JP7072041B2 (ja) | 2020-12-11 | 2020-12-11 | 計算装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023034946A Division JP7436724B2 (ja) | 2020-12-11 | 2023-03-07 | 計算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022093455A true JP2022093455A (ja) | 2022-06-23 |
JP7254993B2 JP7254993B2 (ja) | 2023-04-10 |
Family
ID=87654730
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022073018A Active JP7254993B2 (ja) | 2020-12-11 | 2022-04-27 | 計算装置 |
JP2023034946A Active JP7436724B2 (ja) | 2020-12-11 | 2023-03-07 | 計算装置 |
JP2024016738A Pending JP2024036567A (ja) | 2020-12-11 | 2024-02-07 | 計算装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023034946A Active JP7436724B2 (ja) | 2020-12-11 | 2023-03-07 | 計算装置 |
JP2024016738A Pending JP2024036567A (ja) | 2020-12-11 | 2024-02-07 | 計算装置 |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP7254993B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007520748A (ja) * | 2004-01-28 | 2007-07-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複素値データを用いたオーディオ信号の復号 |
JP2007522699A (ja) * | 2003-12-29 | 2007-08-09 | ザイリンクス インコーポレイテッド | カスケード接続するdspスライスを備えた集積回路 |
JP2008519290A (ja) * | 2004-11-02 | 2008-06-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複素値のフィルタ・バンクを用いたオーディオ信号の符号化及び復号化 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6483256B2 (ja) | 2015-06-05 | 2019-03-13 | 株式会社日立製作所 | 計算機 |
JP6623947B2 (ja) | 2016-06-17 | 2019-12-25 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
-
2022
- 2022-04-27 JP JP2022073018A patent/JP7254993B2/ja active Active
-
2023
- 2023-03-07 JP JP2023034946A patent/JP7436724B2/ja active Active
-
2024
- 2024-02-07 JP JP2024016738A patent/JP2024036567A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007522699A (ja) * | 2003-12-29 | 2007-08-09 | ザイリンクス インコーポレイテッド | カスケード接続するdspスライスを備えた集積回路 |
JP2007520748A (ja) * | 2004-01-28 | 2007-07-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複素値データを用いたオーディオ信号の復号 |
JP2008519290A (ja) * | 2004-11-02 | 2008-06-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複素値のフィルタ・バンクを用いたオーディオ信号の符号化及び復号化 |
Also Published As
Publication number | Publication date |
---|---|
JP7436724B2 (ja) | 2024-02-22 |
JP7254993B2 (ja) | 2023-04-10 |
JP2023065657A (ja) | 2023-05-12 |
JP2024036567A (ja) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6820875B2 (ja) | 計算装置 | |
US8051124B2 (en) | High speed and efficient matrix multiplication hardware module | |
US7171535B2 (en) | Serial operation pipeline, arithmetic device, arithmetic-logic circuit and operation method using the serial operation pipeline | |
US11017290B2 (en) | Signal processing module, especially for a neural network and a neuronal circuit | |
JP4484756B2 (ja) | リコンフィギュラブル回路および処理装置 | |
CN111353126A (zh) | 分块矩阵乘法运算系统 | |
TW202136990A (zh) | 用於批次歸一化的計算單元 | |
US20070136560A1 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
JP6003744B2 (ja) | 演算処理装置及び演算処理方法 | |
GB2352309A (en) | A system for performing modular multiplication | |
JP7072041B2 (ja) | 計算装置 | |
JP7436724B2 (ja) | 計算装置 | |
EP0239634A1 (en) | Multizone processor | |
EP4155901A1 (en) | Systems and methods for sparsity operations in a specialized processing block | |
Jayaraman et al. | Hypersort: High-performance Parallel Sorting on HBM-enabled FPGA | |
JP2024036567A5 (ja) | 回路情報 | |
US7007059B1 (en) | Fast pipelined adder/subtractor using increment/decrement function with reduced register utilization | |
US12118060B2 (en) | Computational circuit with hierarchical accumulator | |
Le | A new general purpose systolic array for matrix computations | |
Swarztrauber | The Communication Machine | |
Makino | Modified SIMD architecture suitable for single-chip implementation | |
Wijshoff et al. | Data Communication and Data Organization in Parallel Computations: Classification and Overview |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220524 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220524 |
|
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: 20230228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230329 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7254993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |