TOP特許意匠商標
特許ウォッチ DM通知 Twitter
10個以上の画像は省略されています。
公開番号2021039801
公報種別公開特許公報(A)
公開日20210311
出願番号2020205993
出願日20201211
発明の名称計算装置
出願人株式会社東芝
代理人個人
主分類G06F 17/16 20060101AFI20210212BHJP(計算;計数)
要約【課題】最適化問題を高速に計算できる計算装置を提供する。
【解決手段】実施形態によれば、計算装置は、第1メモリ、第2メモリ、第3メモリ、第1演算モジュール及び第2演算モジュールを含む。前記第1メモリの出力は、前記第1演算モジュールに入力される。前記第1メモリの前記出力は、前記第2演算モジュールに入力される。前記第2メモリの出力は、前記第2演算モジュールに入力される。前記第3メモリの出力は、前記第2演算モジュールに入力される。前記第2演算モジュールの出力は、前記第1演算モジュールに入力される。
【選択図】図1
特許請求の範囲【請求項1】
第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}の少なくとも一部に基づいて更新する、計算装置。
続きを表示(約 2,000 文字)【請求項2】
第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}の少なくとも一部に基づいて更新することを含む、計算装置。
【請求項3】
前記第1メモリの出力は、前記第1演算モジュールに入力され、
前記第1メモリの前記出力は、前記第2演算モジュールに入力され、
前記第2メモリの出力は、前記第2演算モジュールに入力され、
前記第3メモリの出力は、前記第2演算モジュールに入力され、
前記第2演算モジュールの出力は、前記第1演算モジュールに入力される、請求項1または2に記載の計算装置。
【請求項4】
前記第1パラメータ群{J}の少なくとも一部及び前記第1変数群{x}の少なくとも一部に基づいて行う更新に含まれる乗算の内複数を、並列に実施する、請求項1〜3のいずれか1つに記載の計算装置。
【請求項5】
前記第1演算モジュールの一部は、前記i番目の前記第2変数y

の更新を実施し、
前記第1演算モジュールの別の一部は、前記j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数y

の更新を実施する、請求項4記載の計算装置。
【請求項6】
前記第1演算モジュールの一部は、前記i番目の前記第2変数y

の更新を実施し、
前記第1演算モジュールの別の一部は、前記j番目(jは前記iとは異なり、1以上前記N以下の整数)の前記第2変数y

の更新を実施する、請求項1〜3のいずれか1つに記載の計算装置。
【請求項7】
複数の第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つに記載の計算装置。
【請求項8】
前記Pr個の前記積和モジュールの少なくとも1つは、復号器を含む乗算器、及び、データ型変換器を含む乗算器の少なくともいずれかを含む、請求項7記載の計算装置。

発明の詳細な説明【技術分野】
【0001】
本発明の実施形態は、計算装置に関する。
続きを表示(約 5,300 文字)【背景技術】
【0002】
例えば、大規模な最適化問題を高速に解く計算装置が求められる。
【先行技術文献】
【特許文献】
【0003】
特許第5865456号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、最適化問題を高速に計算できる計算装置を提供する。
【課題を解決するための手段】
【0005】
本発明の実施形態によれば、計算装置は、第1メモリ、第2メモリ、第3メモリ、第1演算モジュール及び第2演算モジュールを含む。前記第1メモリの出力は、前記第1演算モジュールに入力される。前記第1メモリの前記出力は、前記第2演算モジュールに入力される。前記第2メモリの出力は、前記第2演算モジュールに入力される。前記第3メモリの出力は、前記第2演算モジュールに入力される。前記第2演算モジュールの出力は、前記第1演算モジュールに入力される。
【図面の簡単な説明】
【0006】
第1実施形態に係る計算装置を示す模式図である。
図2(a)及び図2(b)は、第1実施形態に係る計算装置を示す模式図である。
図3(a)及び図3(b)は、第1実施形態に係る計算装置を示す模式図である。
第1実施形態に係る計算装置を示す模式図である。
第1実施形態に係る計算装置を示す模式図である。
第1実施形態に係る計算装置を示す模式図である。
図7(a)〜図7(c)は、第1実施形態に係る計算装置を示す模式図である。
図8(a)〜図8(c)は、第1実施形態に係る計算装置を示す模式図である。
図9(a)及び図9(b)は、第1実施形態に係る計算装置を示す模式図である。
第1実施形態に係る計算装置を示す模式図である。
図11(a)及び図11(b)は、第1実施形態に係る計算装置を示す模式図である。
図12(a)及び図12(b)は、第1実施形態に係る計算装置を示す模式図である。
第1実施形態に係る計算装置における動作を例示する模式図である。
第1実施形態に係る計算装置における動作を例示する模式図である。
図15は、第2実施形態に係る計算装置を例示する模式図である。
図16は、第2実施形態に係る計算装置を例示する模式図である。
図17は、第2実施形態に係る計算装置を例示する模式図である。
図18(a)及び図18(b)は、第2実施形態に係る計算装置を例示する模式図である。
図19(a)〜図19(f)は、実施形態に係る計算装置の動作を例示する模式図である。
実施形態に係る計算装置を含む情報処理装置を例示する模式図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
実施形態に係る計算装置の動作を例示するフローチャート図である。
【発明を実施するための形態】
【0007】
以下に、本発明の各実施の形態について図面を参照しつつ説明する。
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0008】
(第1実施形態)
図1は、第1実施形態に係る計算装置を示す模式図である。
図1に示すように、本実施形態に係る計算装置120は、第1メモリ11、第2メモリ12、第3メモリ13、第1演算モジュール21及び第2演算モジュール22を含む。これらのメモリは、例えば、保持部10に含まれる。これらの演算モジュールは、例えば、演算部20に含まれる。
【0009】
第1メモリ11の出力は、第1演算モジュール21に入力される。第1メモリ11の出力は、第2演算モジュール22に入力される。第2メモリ12の出力は、第2演算モジュール22に入力される。第3メモリ13の出力は、第2演算モジュール22に入力される。第2演算モジュール22の出力は、第1演算モジュール21に入力される。
【0010】
計算装置120において、制御回路40が設けられても良い。制御回路40から、制御信号40sが出力され、上記の保持部10及び演算部20の動作が制御される。
【0011】
1つの例において、第1メモリ11は、第1変数群{x}を保持する。1つの例において、第2メモリ12は、第2変数群{y}を保持する。1つの例において、第3メモリ13は、第1パラメータ群{J}を保持する。
【0012】
第1メモリ11は、例えば、Xmemメモリである。第2メモリ12は、例えば、Ymemメモリである。第3メモリ13は、例えば、Jmemメモリである。
【0013】
第1演算モジュール21は、例えば、FXFYモジュールFXFYMである。第2演算モジュール22は、例えば、JXモジュールJXMである。
【0014】
1つの例において、計算装置120は、例えば、以下の演算を効率的に実施できる。例えば、第1変数群{x}は、N個(Nは2以上の整数)のi番目(iは1以上N以下の整数)の第1変数x

を含む。第2変数群{y}は、N個のi番目(iは1以上N以下の整数)の第2変数y

を含む。第1パラメータ群{J}は、N×N個の第1パラメータJ
l,m
(lは1以上N以下の整数であり、mは1以上N以下の整数)を含む。例えば、第1演算モジュール21は、第1変数更新及び第1サブ更新を実施する。例えば、第2演算モジュール22は、第2サブ更新を実施する。第1変数更新は、i番目の第1変数x

をi番目の第2変数y

に基づいて更新することを含む。第1サブ更新は、i番目の第2変数y

をi番目の第1変数x

に基づいて更新することを含む。第2サブ更新は、i番目の第2変数y

を第1パラメータ群{J}の少なくとも一部及び第1変数群{x}の少なくとも一部に基づいて更新することを含む。
【0015】
実施形態に係る計算装置120によれば、例えば、最適化問題を高速に計算できる。
【0016】
計算装置120は、例えば、FPGA(Field programmable gate array)、ゲートアレイ、または、特定用途向け集積回路(ASIC)を含んでも良い。計算装置120は、例えば、単一チップ構造を有しても良い。
【0017】
Xmemメモリ、Ymemメモリ及びJmemメモリのそれぞれは、例えば、オンチップメモリである。オンチップメモリのそれぞれは、例えば、少なくとも「1write,1readポート」を含む。
【0018】
計算装置120は、Hmemメモリ(図8(a)〜図8(c)などを参照)を含んでも良い。Hmemメモリは、例えば、第2パラメータ群{h}を保持する。Hmemメモリは、オンチップメモリである。このオンチップメモリは、例えば、「1write,1readポート」を含む。第2パラメータ群{h}が設けられない場合は、Hmemメモリは省略されても良い。
【0019】
計算装置120は、例えば、同期式回路である。この同期式回路は、例えば、循環型データパス構造「Recurrent data path structure」を含む。
【0020】
計算装置120においては、第1変数群{x}及び第2変数群{y}のそれぞれの初期値、及び、第1パラメータ群{J}が、保持部10に保持される。必要に応じて、保持部10は、第2パラメータ群{h}を保持しても良い。計算装置120は、所望のクロックサイクル数だけ駆動される。例えば、第1変数xi及び第2変数yiのそれぞれの時間発展が計算される。
【0021】
計算装置120は、例えば、インターフェース回路71(図20参照)を含む。インターフェース回路71は、例えば、メモリインターフェース、バスインターフェース及びシリアルリンクの少なくともいずれかを含む。メモリインターフェースは、例えば「DDR4」及び「HBM2」の少なくともいずれかを含む。バスインターフェースは、例えば、「PCIe」などを含む。
【0022】
1つの例において、計算装置120は、インターフェース回路71を経由して、例えば、第1変数群{x}及び第2変数群{y}のそれぞれの初期値、及び、第1パラメータ群{J}を受け取る。受け取ったこれらの値は、例えば、保持部10に保持される。1つの例において、計算装置120は、初期値生成回路72(図20参照)を含んでも良い。初期値生成回路72は、例えば、乱数生成器を含む。この場合、初期値生成回路72において、第1変数群{x}及び第2変数群{y}のそれぞれの初期値が生成される。生成された値が、保持部10に保持される。
計算装置120は、第1変数群{x}およびそれから計算される値を、インターフェース回路71から出力することができる。
【0023】
図1に示すように、この例では、第2演算モジュール21は、JX関数回路JXF及びJX更新回路JXUを含む。第1メモリ11の出力及び第3メモリ13の出力は、JX関数回路JXFに入力される。JX関数回路JXFの出力及び第2メモリ12の出力は、JX更新回路JXUに入力される。JX更新回路JXUの出力は、第1演算モジュール21に入力される。
【0024】
第2演算モジュール22の出力は、JX更新回路JXUの出力に対応する。このように、第2演算モジュール22の出力は、JX更新回路JXUの出力を含む。
【0025】
図1に示すように、この例では、第1演算モジュール21は、1または複数の回路セット21Aを含む。この例では、複数の回路セット21Aが設けられている。この例では、複数の回路セット21Aの数は、2である。後述するように、数は、1でも良く3以上でも良い。
【0026】
1つの回路セット21Aは、第1演算回路21a及び第2演算回路21bを含む。第1演算回路21aは、FX関数回路FXF及びFX更新回路FXUを含む。第2演算回路21bは、FY関数回路FYF及びFY更新回路FYUを含む。
【0027】
FX関数回路FXFの出力は、FX更新回路FXUに入力される。FX更新回路FXUの出力は、FY関数回路FYFに入力される。FY関数回路FYFの出力は、FY更新回路FYUに入力される。複数の回路セット21Aは、例えば、直列に接続される。
【0028】
複数の回路セット21Aが設けられる場合、複数の回路セット21Aの別の1つ(2段目)は、別の第1演算回路21a及び別の第2演算回路21bを含む。別の第1演算回路21aは、別のFX関数回路FXF、及び、別のFX更新回路FXUを含む。別の第2演算回路21bは、別のFY関数回路FYF、及び、別のFY更新回路FYUを含む。別のFX関数回路FXFの出力は、別のFX更新回路FXUに入力される。別のFX更新回路FXUの出力は、別のFY関数回路FYFに入力される。別のFY関数回路FYFの出力は、別のFY更新回路FYUに入力される。
【0029】
上記のFX更新回路FXU(1段目)の出力は、上記の別のFX更新回路FXU(2段目)に入力される。上記のFY更新回路FYU(1段目)の出力は、上記の別のFY更新回路FYU(2段目)に入力される。
【0030】
第2演算モジュール22の出力は、上記のFX更新回路FXU(1段目)に入力される。第1メモリ11の出力は、上記のFX関数回路FXF(1段目)、及び、上記のFY更新回路FYU(1段目)に入力される。
(【0031】以降は省略されています)

この特許をJ-PlatPatで参照する

関連特許

株式会社東芝
電池
株式会社東芝
電池
株式会社東芝
センサ
株式会社東芝
回転子
株式会社東芝
センサ
株式会社東芝
回転子
株式会社東芝
センサ
株式会社東芝
組電池
株式会社東芝
制振装置
株式会社東芝
通信機器
株式会社東芝
電気機器
株式会社東芝
駅務端末
株式会社東芝
受信装置
株式会社東芝
運搬装置
株式会社東芝
監視装置
株式会社東芝
2逓倍器
株式会社東芝
駅務機器
株式会社東芝
基板装置
株式会社東芝
電源装置
株式会社東芝
誘導装置
株式会社東芝
プラント
株式会社東芝
送信装置
株式会社東芝
受信装置
株式会社東芝
回転電機
株式会社東芝
電源装置
株式会社東芝
限流装置
株式会社東芝
電子回路
株式会社東芝
白色光源
株式会社東芝
補強敷板
株式会社東芝
電子回路
株式会社東芝
発振装置
株式会社東芝
電子装置
株式会社東芝
増幅回路
株式会社東芝
計算装置
株式会社東芝
記録媒体
株式会社東芝
浄化装置
続きを見る