JP2024036567A5 - 回路情報 - Google Patents
回路情報 Download PDFInfo
- Publication number
- JP2024036567A5 JP2024036567A5 JP2024016738A JP2024016738A JP2024036567A5 JP 2024036567 A5 JP2024036567 A5 JP 2024036567A5 JP 2024016738 A JP2024016738 A JP 2024016738A JP 2024016738 A JP2024016738 A JP 2024016738A JP 2024036567 A5 JP2024036567 A5 JP 2024036567A5
- Authority
- JP
- Japan
- Prior art keywords
- variable
- group
- memory
- module
- variable group
- 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.)
- Pending
Links
- 230000006870 function Effects 0.000 claims description 59
- 239000004065 semiconductor Substances 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000000034 method Methods 0.000 claims 1
- 230000010365 information processing Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 241001442055 Vipera berus Species 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Description
本発明の実施形態は、回路情報に関する。
本発明の実施形態は、最適化問題を高速に計算できる回路情報を提供する。
本発明の実施形態によれば、回路情報は、ハードウェア記述言語により記載され、回路の構成を表す。前記回路を計算装置として機能させる。前記計算装置は、第1メモリ、第2メモリ、第3メモリ、第1演算モジュール及び第2演算モジュールを含む。前記第1メモリの出力は、前記第1演算モジュールに入力される。前記第1メモリの前記出力は、前記第2演算モジュールに入力される。前記第2メモリの出力は、前記第2演算モジュールに入力される。前記第3メモリの出力は、前記第2演算モジュールに入力される。前記第2演算モジュールの出力は、前記第1演算モジュールに入力される。
図1に示すように、この例では、第2演算モジュール22は、JX関数回路JXF及びJX更新回路JXUを含む。第1メモリ11の出力及び第3メモリ13の出力は、JX関数回路JXFに入力される。JX関数回路JXFの出力及び第2メモリ12の出力は、JX更新回路JXUに入力される。JX更新回路JXUの出力は、第1演算モジュール21に入力される。
図3(a)に示す例においては、JX関数回路JXFとして、JXF1回路と、JFX2回路が設けられる。JFX2は、dt*cと、入力と、の乗算が行われる。例えば、JXモジュールJXM内の積和演算時に、オーバーフローが発生する場合がある。例えば、dt*cは、1以下の数に設定できる。例えば、xi’=dt*c*xiとした後で、積和演算を行うことで、オーバーフローを回避できる。
図4及び図5は、JXモジュールJXMに含まれるJX関数回路JXFを例示している。図4に示すように、JXモジュールJXMは、Pr個のMAC演算モジュール(演算モジュールMAC0~MACPr-1)を含む。MAC演算モジュールの1つは、Pc個の乗算器を含む。1つのサイクルで、Pc回の乗算を実施する。JXモジュールJXMは、1つのJBlock(後述)と、1つのXBlock(後述)と、の内積を1つのサイクルで実施する。この内積は、Pr×Pc回の乗算に対応する。
Pc個のメモリブロック(メモリブロックXmem0~XmemPc-1)のそれぞれへの「readアクセスパターン」は、シーケンシャルアクセスである。シーケンシャルアクセスにおいては、「read addr」が、0から(Nc-1)まで、1つずつインクリメントされる。これにより、例えば、複雑なアドレス演算が不要になる。
Pc個のメモリブロック(メモリブロックJmem0~JmemPc-1)のそれぞれへの「readアクセスパターン」は、シーケンシャルアクセスである。シーケンシャルアクセスにおいては、「read addr」が0からNrNc-1まで、1ずつインクリメントされる。これにより、複雑なアドレス演算が不要になる。
図9(a)及び図9(b)においては、回路セット21Aの数Mは、5である。図9(a)において、複数の内部ノード(x1~x4、及び、y1~y4)、入出力端子(Xin、Yin、Xout及びYout)の関係は、図9(b)に示す状態となる。5つの回路セット21Aが直列(シーケンシャル)に接続される。シーケンシャル回路により、複数の更新が実施できる。
図10においては、回路セット21Aの数Mは、5である。図10において、複数の処理単位(パイプラインステージ)の間に、パイプラインレジスタ(レジスタreg)が設けられている。例えば、FXFYモジュールFXFYMのスループットを向上できる。図10の例では、18個のパイプラインレジスタが挿入される。CUT0~CUT8において、FXFY演算が10のパイプラインステージに分割される。この例では、FXFYモジュールFXFYMは、直列に接続された10ステージのパイプラインステージを含む。パイプライン化することによって、例えば、動作周波数を上昇できる。例えば、時間的なハードウェア利用効率を向上できる。スループットを向上できる。
図11(a)及び図11(b)においては、回路セット21Aの数Mは、1である。図11(a)に示す例において、FY関数回路FYFには、Yinが入力される。FY更新回路FYUには、FY関数回路FYFの出力と、Xinと、が入力される。FY更新回路FYUは、Xoutを出力する。FX関数回路FXFには、FY更新回路FYUの出力が入力される。FX更新回路FXUには、FX関数回路FXFの出力と、Yinと、が入力される。FX更新回路FXUは、Youtを出力する。FX関数回路FXF及びFY関数回路FYFは、例えば、図8(b)に示す演算を行う。図11(a)に示す回路は、図11(b)に示す演算を行う。
図11(a)、図11(b)、図12(a)及び図12(b)に示す例においても、第1演算モジュール21は、1または複数の回路セット21Aを含む。回路セット21Aは、第1演算回路21a及び第2演算回路21bを含む。第1演算回路21aは、FX関数回路FXF及びFX更新回路FXUを含む。第2演算回路21bは、FY関数回路FYF及びFY更新回路FYUを含む。FY関数回路FYFの出力は、FY更新回路FYUに入力される。FY更新回路FYUの出力は、FX関数回路FXFに入力される。FX関数回路FXFの出力は、FX更新回路FXUに入力される。
図16は、第2実施形態に係る計算装置を例示する模式図である。
図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における演算を行う。
図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は、実施形態に係る計算装置を含む情報処理装置を例示する模式図である。
図20に示すように、情報処理装置210は、計算装置120を含む。この例では、情報処理装置210に、複数の計算装置120が設けられる。シリアルリンク73は、例えば、複数の計算装置120を相互に接続する。
図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チップ出力端子とは前記相互接続配線に接続される、計算装置。
(構成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チップ出力端子とは前記相互接続配線に接続される、計算装置。
10…保持部、 11…第1メモリ、 11a、11b…第1、第2メモリ部分、 11bc…第1配線、 11d…第1メモリブロック、 12…第2メモリ、 13…第3メモリ、 13d…第3メモリブロック、 13pc…第2配線、 20…演算部、 21…第1演算モジュール、 21A…回路セット、 21a、21b…第1、第2演算回路、 22…第2演算モジュール、 22c…積和モジュール、 24…バッファ回路、 40…制御回路、 40s…制御信号、 60…回路部、 61~64…第1~第4回路部、 68b…BUS接続、 68c…クロスバ、 71…インターフェース回路、 72…初期値生成回路、 73…シリアルリンク、 74…バスインターフェース、 75…アクセラレータカード、 76…メモリ、 120…計算装置、 210…情報処理装置、 ACC…アキュムレータ、 ADDtree…加算器ツリー、 Aout…出力、 FXF…FX関数回路、 FXFYM……FXFYモジュール、 FXU…FX更新回路、 FYF…FY関数回路、 FYU…FY更新回路、 JXF…JX関数回路、 JXM…JXモジュール、 JXU…JX更新回路、 Jmem0~JmemPc…メモリブロック、 M…数、 MAC0~MACPr…演算モジュール、 MUL、MUL0~MULPr、MULc…乗算器、 MUXA、MUXB…マルチプレキサ、 Xmem0~XmemPc…メモリブロック、 reg…レジスタ
Claims (32)
- ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1チップと、第2チップと、を備え、
前記第1チップは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1チップは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2チップは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2チップは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1チップは、前記第2チップから、前記第1変数群{x}の前記別の一部の少なくとも一部を取得し、
前記第2チップは、前記第1チップから、前記第1変数群{x}の前記一部の少なくとも一部を取得し、
前記第1演算モジュールは、前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第2チップから取得した前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1チップから取得した前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 再構成可能な半導体装置を動作させるために、前記再構成可能な半導体装置に書き込まれる回路情報であって、
前記再構成可能な半導体装置を計算装置として機能させ、
前記計算装置は、
第1チップと、第2チップと、を備え、
前記第1チップは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1チップは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2チップは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2チップは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1チップは、前記第2チップから、前記第1変数群{x}の前記別の一部の少なくとも一部を取得し、
前記第2チップは、前記第1チップから、前記第1変数群{x}の前記一部の少なくとも一部を取得し、
前記第1演算モジュールは、前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第2チップから取得した前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1チップから取得した前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 前記第1チップは、前記第1変数群{x}の前記一部を保持する第1メモリを含み、
前記第1メモリは、第1ローカルメモリと、第1グローバルメモリと、を含み、
前記別の第1メモリは、別の第1ローカルメモリと、別の第1グローバルメモリと、を含み、
前記第1ローカルメモリは、前記第1変数群{x}の前記一部を保持し、
前記第1グローバルメモリは、前記第1変数群{x}の前記別の一部の前記少なくとも一部を保持し、
前記別の第1ローカルメモリは、前記第1変数群{x}の前記別の一部を保持し、
前記別の第1グローバルメモリは、前記第1変数群{x}の前記一部の前記少なくとも一部を保持し、
前記第1演算モジュールは、前記第1ローカルメモリに保持された前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新した後の前記第1変数群{x}の前記一部を出力し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の前記少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記別の第1ローカルメモリに保持された前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新した後の前記第1変数群{x}の前記別の一部を出力し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の前記少なくとも一部、及び、前記別の第1グローバルメモリに保持された前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、請求項1または2に記載の回路情報。 - ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1モジュールと、第2モジュールと、を備え、
前記第1モジュールは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1モジュールは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2モジュールは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2モジュールは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1モジュールは、前記第2モジュールから、前記第1変数群{x}の前記別の一部の少なくとも一部を取得し、
前記第2モジュールは、前記第1モジュールから、前記第1変数群{x}の前記一部の少なくとも一部を取得し、
前記第1演算モジュールは、前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第2モジュールから取得した前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1モジュールから取得した前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 再構成可能な半導体装置を動作させるために、前記再構成可能な半導体装置に書き込まれる回路情報であって、
前記再構成可能な半導体装置を計算装置として機能させ、
前記計算装置は、
第1モジュールと、第2モジュールと、を備え、
前記第1モジュールは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1モジュールは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2モジュールは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2モジュールは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1モジュールは、前記第2モジュールから、前記第1変数群{x}の前記別の一部の少なくとも一部を取得し、
前記第2モジュールは、前記第1モジュールから、前記第1変数群{x}の前記一部の少なくとも一部を取得し、
前記第1演算モジュールは、前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第2モジュールから取得した前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1モジュールから取得した前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 前記第1モジュールは、前記第1変数群{x}の前記一部を保持する第1メモリを含み、
前記第1メモリは、第1ローカルメモリと、第1グローバルメモリと、を含み、
前記別の第1メモリは、別の第1ローカルメモリと、別の第1グローバルメモリと、を含み、
前記第1ローカルメモリは、前記第1変数群{x}の前記一部を保持し、
前記第1グローバルメモリは、前記第1変数群{x}の前記別の一部の前記少なくとも一部を保持し、
前記別の第1ローカルメモリは、前記第1変数群{x}の前記別の一部を保持し、
前記別の第1グローバルメモリは、前記第1変数群{x}の前記一部の前記少なくとも一部を保持し、
前記第1演算モジュールは、前記第1ローカルメモリに保持された前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新した後の前記第1変数群{x}の前記一部を出力し、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の前記少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記別の第1ローカルメモリに保持された前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新した後の前記第1変数群{x}の前記別の一部を出力し、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の前記少なくとも一部、及び、前記別の第1グローバルメモリに保持された前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、請求項4または5に記載の回路情報。 - ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1モジュールと、第2モジュールと、第1グローバルメモリと、を備え、
前記第1モジュールは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1モジュールは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2モジュールは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2モジュールは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1演算モジュールは、前記第1モジュールに保持された前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、更新した後の前記第1変数群{x}の前記一部を、前記第1モジュール及び前記第1グローバルメモリに保持させ、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第2モジュールに保持された前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、更新した後の前記第1変数群{x}の前記別の一部を、前記第2モジュール及び前記第1グローバルメモリに保持させ、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 再構成可能な半導体装置を動作させるために、前記再構成可能な半導体装置に書き込まれる回路情報であって、
前記再構成可能な半導体装置を計算装置として機能させ、
前記計算装置は、
第1モジュールと、第2モジュールと、第1グローバルメモリと、を備え、
前記第1モジュールは、
第1演算モジュールと、
第2演算モジュールと、
を含み、
前記第1モジュールは、第1変数群{x}の一部、第2変数群{y}の一部、及び、第1パラメータ群{J}の一部を保持し、
前記第2モジュールは、
別の第1演算モジュールと、
別の第2演算モジュールと、
を含み、
前記第2モジュールは、前記第1変数群{x}の別の一部、前記第2変数群{y}の別の一部、及び、前記第1パラメータ群{J}の別の一部を保持し、
前記第1演算モジュールは、前記第1モジュールに保持された前記第1変数群{x}の前記一部を前記第2変数群{y}の前記一部に基づいて更新し、更新した後の前記第1変数群{x}の前記一部を、前記第1モジュール及び前記第1グローバルメモリに保持させ、
前記第2演算モジュールは、前記第2変数群{y}の前記一部を前記第1パラメータ群{J}の前記一部の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記別の一部の少なくとも一部に基づいて更新し、
前記別の第1演算モジュールは、前記第2モジュールに保持された前記第1変数群{x}の前記別の一部を前記第2変数群{y}の前記別の一部に基づいて更新し、更新した後の前記第1変数群{x}の前記別の一部を、前記第2モジュール及び前記第1グローバルメモリに保持させ、
前記別の第2演算モジュールは、前記第2変数群{y}の前記別の一部を前記第1パラメータ群{J}の前記別の一部の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の前記一部の少なくとも一部に基づいて更新する、回路情報。 - 前記第1グローバルメモリは、第1メモリ部分と、第2メモリ部分と、を含み、
前記第1メモリ部分が読み出し動作を実施している時に、前記第2メモリ部分が書き込み動作を実施し、
前記第2メモリ部分が読み出し動作を実施している時に、前記第1メモリ部分が書き込み動作を実施する、請求項3、6~8のいずれか1つに記載の回路情報。 - 前記第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変数群{x}の前記別の一部は、前記N個のj番目(jは1以上前記N以下の整数であり、iとは異なる)の第1変数xjを含み、
前記第2変数群{y}の前記別の一部は、前記N個の前記j番目の第2変数yjを含む、請求項1~9のいずれか1つに記載の回路情報。 - 前記第1パラメータ群{J}の前記一部の前記少なくとも一部及び前記第1変数群{x}の前記一部の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、並列に実施する、請求項1~10のいずれか1つに記載の回路情報。
- 前記第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番目の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項1~9、11のいずれか1つに記載の回路情報。 - ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1ローカルメモリと、
第1グローバルメモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1ローカルメモリ及び前記第1グローバルメモリは、第1変数群{x}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第1演算モジュールは、前記第1ローカルメモリに保持された前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新し、更新した後の前記i番目の前記第1変数xiを、前記第1ローカルメモリ及び前記第1グローバルメモリに保持し、
前記第2演算モジュールは、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の少なくとも一部に基づいて更新する、回路情報。 - 再構成可能な半導体装置を動作させるために、前記再構成可能な半導体装置に書き込まれる回路情報であって、
前記再構成可能な半導体装置を計算装置として機能させ、
前記計算装置は、
第1ローカルメモリと、
第1グローバルメモリと、
第1演算モジュールと、
第2演算モジュールと、
を備え、
前記第1ローカルメモリ及び前記第1グローバルメモリは、第1変数群{x}を保持し、
前記第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第1演算モジュールは、前記第1ローカルメモリに保持された前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新し、更新した後の前記i番目の前記第1変数xiを、前記第1ローカルメモリ及び前記第1グローバルメモリに保持し、
前記第2演算モジュールは、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部、及び、前記第1グローバルメモリに保持された前記第1変数群{x}の少なくとも一部に基づいて更新する、回路情報。 - 前記第1グローバルメモリは、第1メモリ部分と、第2メモリ部分と、を含み、
前記第1メモリ部分が読み出し動作を実施している時に、前記第2メモリ部分が書き込み動作を実施し、
前記第2メモリ部分が読み出し動作を実施している時に、前記第1メモリ部分が書き込み動作を実施する、請求項13または14に記載の回路情報。 - 前記第1パラメータ群{J}の前記少なくとも一部及び前記第1変数群{x}の一部の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、並列に実施する、請求項13~15のいずれか1つに記載の回路情報。
- 前記第1演算モジュールの一部は、前記N個のr番目(rは1以上前記N以下の整数)の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、s番目(sは前記rとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項13~16いずれか1つに記載の回路情報。 - ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1演算モジュールと、
第2演算モジュールと、
を備え、
第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、第1メモリに保持され、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第1演算モジュールは、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新し、
前記第2演算モジュールは、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新する、回路情報。 - 再構成可能な半導体装置を動作させるために、前記再構成可能な半導体装置に書き込まれる回路情報であって、
前記再構成可能な半導体装置を計算装置として機能させ、
前記計算装置は、
第1演算モジュールと、
第2演算モジュールと、
を備え、
第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、第1メモリに保持され、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第1演算モジュールは、前記i番目の前記第1変数xiを前記i番目の前記第2変数yiに基づいて更新し、
前記第2演算モジュールは、前記i番目の前記第2変数yiを前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて更新する、回路情報。 - ハードウェア記述言語により記載された、回路の構成を表す回路情報であって、
前記回路を計算装置として機能させ、
前記計算装置は、
第1演算モジュールと、
第2演算モジュールと、
を備え、
第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、第1メモリに保持され、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第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演算モジュールと、
第2演算モジュールと、
を備え、
第1変数群{x}は、N個(前記Nは2以上の整数)のi番目(iは1以上前記N以下の整数)の第1変数xiを含み、第1メモリに保持され、
第2変数群{y}は、前記N個のi番目(iは1以上前記N以下の整数)の第2変数yiを含み、第2メモリに保持され、
第1パラメータ群{J}は、N×N個の第1パラメータJl,m(前記lは1以上前記N以下の整数であり、前記mは1以上前記N以下の整数)を含み、第3メモリに保持され、
前記第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演算モジュールに入力される、請求項18~21のいずれか1つに記載の回路情報。 - 前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、並列に実施する、請求項18~22のいずれか1つに記載の回路情報。
- 前記第1演算モジュールの一部は、前記i番目の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項23に記載の回路情報。 - 前記第1演算モジュールの一部は、前記i番目の前記第2変数yiの更新を実施し、
前記第1演算モジュールの別の一部は、j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数yjの更新を実施する、請求項18~22のいずれか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つと、を接続する、請求項18~25のいずれか1つに記載の回路情報。 - 前記Pr個の前記積和モジュールの少なくとも1つは、復号器を含む乗算器、及び、データ型変換器を含む乗算器の少なくともいずれかを含む、請求項26に記載の回路情報。
- 前記第2演算モジュールにおける前記更新の一部は、前記第2演算モジュールにおける前記更新の別の一部と、同時並列に実施される、請求項18~21のいずれか1つに記載の回路情報。
- 前記第1メモリの出力は、前記第1演算モジュールに入力され、
前記第1メモリの前記出力は、前記第2演算モジュールに入力され、
前記第2メモリの出力は、前記第2演算モジュールに入力され、
前記第3メモリの出力は、前記第2演算モジュールに入力され、
前記第2演算モジュールの出力は、前記第1演算モジュールに入力される、請求項28に記載の回路情報。 - 前記第1パラメータ群{J}は、N×N(Nは2以上の整数)の行列を含み、
前記第2演算モジュールは、Pr個(Prは2以上前記N以下の整数であり、前記Nの約数)の積和モジュールを含み、
前記Pr個の積和モジュールは、並列動作する、請求項18または19に記載の回路情報。 - 前記第1パラメータ群{J}は、N×N(Nは2以上の整数)の行列を含み、
前記第2演算モジュールは、前記行列の列の並列度に対応するPc個(Pcは2以上N以下の整数であり、前記Nの約数)の乗算器を含む、請求項18または19に記載の回路情報。 - 前記第2演算モジュールにおける前記更新の一部は、前記第2演算モジュールにおける前記更新の別の一部と、並列に実行可能である、請求項18または19に記載の回路情報。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024016738A JP2024036567A (ja) | 2020-12-11 | 2024-02-07 | 計算装置 |
Applications Claiming Priority (4)
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 | 計算装置 |
JP2023034946A JP7436724B2 (ja) | 2020-12-11 | 2023-03-07 | 計算装置 |
JP2024016738A JP2024036567A (ja) | 2020-12-11 | 2024-02-07 | 計算装置 |
Related Parent 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 |
---|---|
JP2024036567A JP2024036567A (ja) | 2024-03-15 |
JP2024036567A5 true JP2024036567A5 (ja) | 2024-03-25 |
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 Before (2)
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 | 計算装置 |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP7254993B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1700231B1 (en) * | 2003-12-29 | 2012-10-17 | Xilinx, Inc. | Integrated circuit with cascading dsp slices |
WO2005073959A1 (en) * | 2004-01-28 | 2005-08-11 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
JP4939424B2 (ja) * | 2004-11-02 | 2012-05-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複素値のフィルタ・バンクを用いたオーディオ信号の符号化及び復号化 |
WO2016194221A1 (ja) | 2015-06-05 | 2016-12-08 | 株式会社日立製作所 | 計算機 |
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
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6820875B2 (ja) | 計算装置 | |
US9201828B2 (en) | Memory interconnect network architecture for vector processor | |
CN109284824B (zh) | 一种基于可重构技术的用于加速卷积和池化运算的装置 | |
US11017290B2 (en) | Signal processing module, especially for a neural network and a neuronal circuit | |
US20120278590A1 (en) | Reconfigurable processing system and method | |
Bu et al. | A design methodology for fixed-size systolic arrays | |
US7352205B2 (en) | Reconfigurable switching device parallel calculation of any particular algorithms | |
WO2023065701A1 (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
WO2006132639A1 (en) | Circuit splitting in analysis of circuits at transistor level | |
JP2024036567A5 (ja) | 回路情報 | |
Kumhom et al. | Design, optimization, and implementation of a universal FFT processor | |
CN107506332B (zh) | Kalman滤波器快速实现方法 | |
JP2022101472A (ja) | 低レイテンシのモジュラ乗算のためのシステム及び方法 | |
Jayaraman et al. | Hypersort: High-performance Parallel Sorting on HBM-enabled FPGA | |
JP7072041B2 (ja) | 計算装置 | |
JP2861994B1 (ja) | 回路合成方法、回路合成装置および記録媒体 | |
JP7436724B2 (ja) | 計算装置 | |
RU2819403C1 (ru) | Векторное вычислительное ядро | |
JPS6165336A (ja) | 高速演算方式 | |
Mozef et al. | Parallel architecture dedicated to connected component analysis | |
CN111368986A (zh) | 一种神经网络计算装置和方法 | |
Ahn | Extension of neuron machine neurocomputing architecture for spiking neural networks | |
WO2024174503A1 (zh) | 一种数据处理方法、系统及相关设备 | |
Sano et al. | Hardware Algorithms |