TOP > 国内特許検索 > 演算装置、演算方法、および演算プログラム

演算装置、演算方法、および演算プログラム NEW 外国出願あり

国内特許コード P210017521
整理番号 08963-JP
掲載日 2021年4月7日
出願番号 特願2019-107283
公開番号 特開2020-201659
出願日 令和元年6月7日(2019.6.7)
公開日 令和2年12月17日(2020.12.17)
発明者
  • 牧野 淳一郎
  • 戎崎 俊一
出願人
  • 国立研究開発法人理化学研究所
発明の名称 演算装置、演算方法、および演算プログラム NEW 外国出願あり
発明の概要 【課題】行列演算を効率良く行う演算装置を提供する。
【解決手段】演算装置であって、第1ベクトルを分割した第1の複数の部分ベクトルのうち、第1部分ベクトルを少なくとも記憶するベクトル記憶部と、第1ベクトルに乗じる第1行列を行方向および列方向に分割した第1の複数の部分行列のうち、第1部分ベクトルに乗じるべき第1部分行列を少なくとも記憶する行列記憶部とパイプライン演算により、行列記憶部に記憶された部分行列とベクトル記憶部に記憶された部分ベクトルとの行列ベクトル積に、中間ベクトルを加える演算を実行可能なパイプライン演算部と、パイプライン演算部が、第1部分行列および第1部分ベクトルの行列ベクトル積のパイプライン演算中に、第1部分ベクトルまたは第1部分行列を用いた他の行列ベクトル積の演算の実行をパイプライン演算部に指示する演算制御部とを備える。
【選択図】図3
従来技術、競合技術の概要 例えば数値計算および深層学習といった種々の応用において、行列行列積(以下、「行列積」と示す。)および行列ベクトル積は、計算量の大部分を占める。このため、このような行列演算を効率良く実行する演算装置および演算方法が開発されている(特許文献1~3参照)。また、行列演算を実行可能なプロセッサも開発されている。
産業上の利用分野 本発明は、演算装置、演算方法、および演算プログラムに関する。
特許請求の範囲 【請求項1】
第1ベクトルを分割した第1の複数の部分ベクトルのうち、第1部分ベクトルを少なくとも記憶するベクトル記憶部と、
前記第1ベクトルに乗じる第1行列を行方向および列方向に分割した第1の複数の部分行列のうち、前記第1部分ベクトルに乗じるべき第1部分行列を少なくとも記憶する行列記憶部と、
パイプライン演算により、前記行列記憶部に記憶された部分行列と前記ベクトル記憶部に記憶された部分ベクトルとの行列ベクトル積に、中間ベクトルを加える演算を実行可能なパイプライン演算部と、
前記パイプライン演算部が、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算中に、前記第1部分ベクトルまたは前記第1部分行列を用いた他の行列ベクトル積の演算の実行を前記パイプライン演算部に指示する演算制御部と
を備える演算装置。

【請求項2】
前記ベクトル記憶部は、前記第1の複数の部分ベクトルのうち、第2部分ベクトルを更に記憶し、
前記行列記憶部は、前記第1の複数の部分行列のうち、前記第2部分ベクトルに乗じるべき第2部分行列を更に記憶し、
前記演算制御部は、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積の演算結果が遅延なく利用可能となるサイクル以降に、前記第2部分行列および前記第2部分ベクトルの行列ベクトル積を、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積の演算結果に加える演算の実行を前記パイプライン演算部に指示する
請求項1に記載の演算装置。

【請求項3】
前記ベクトル記憶部は、前記第1行列を乗じるべき第2ベクトルを分割した第2の複数の部分ベクトルのうち、前記第1部分行列を乗じるべき第3部分ベクトルを更に記憶し、
前記演算制御部は、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算中に、前記他の行列ベクトル積の演算として、前記第1部分行列および前記第3部分ベクトルの行列ベクトル積の演算の実行を前記パイプライン演算部に指示する
請求項1または2に記載の演算装置。

【請求項4】
前記第1ベクトルおよび前記第2ベクトルは、前記第1行列に乗じるべき第2行列に含まれる列ベクトルである請求項3に記載の演算装置。

【請求項5】
前記ベクトル記憶部は、前記第2行列に含まれる複数の前記第2ベクトルを記憶し、
前記演算制御部は、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算の開始後から演算結果が遅滞なく利用可能となる前までの間の各サイクルを、前記第1部分行列および前記複数の第2ベクトルのそれぞれからの前記第3部分ベクトルの行列ベクトル積の演算で充填する
請求項4に記載の演算装置。

【請求項6】
前記行列記憶部は、前記第1の複数の部分行列のうち、前記第1部分ベクトルに乗じるべき第3部分行列を更に記憶し、
前記演算制御部は、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算中に、前記他の行列ベクトル積の演算として、前記第3部分行列および前記第1部分ベクトルの行列ベクトル積の演算の実行を前記パイプライン演算部に指示する
請求項1または2に記載の演算装置。

【請求項7】
前記行列記憶部は、複数の前記第3部分行列を記憶し、
前記演算制御部は、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算の開始後から演算結果が遅滞なく利用可能となる前までの間の各サイクルを、前記複数の第3部分行列のそれぞれおよび前記第1部分ベクトルの行列ベクトル積の演算で充填する
請求項6に記載の演算装置。

【請求項8】
ベクトル記憶部が、第1ベクトルを分割した第1の複数の部分ベクトルのうち、第1部分ベクトルを少なくとも記憶し、
行列記憶部が、前記第1ベクトルに乗じる第1行列を行方向および列方向に分割した第1の複数の部分行列のうち、前記第1部分ベクトルに乗じるべき第1部分行列を少なくとも記憶し、
パイプライン演算により、前記行列記憶部に記憶された部分行列と前記ベクトル記憶部に記憶された部分ベクトルとの行列ベクトル積に、中間ベクトルを加える演算を実行可能なパイプライン演算部が、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算中に、前記第1部分ベクトルまたは前記第1部分行列を用いた他の行列ベクトル積の演算の実行を開始する
演算方法。

【請求項9】
演算装置によって実行される演算プログラムであって、
前記演算装置は、
第1ベクトルを分割した第1の複数の部分ベクトルのうち、第1部分ベクトルを少なくとも記憶するベクトル記憶部と、
前記第1ベクトルに乗じる第1行列を行方向および列方向に分割した第1の複数の部分行列のうち、前記第1部分ベクトルに乗じるべき第1部分行列を少なくとも行列記憶部と、
パイプライン演算により、前記行列記憶部に記憶された部分行列と前記ベクトル記憶部に記憶された部分ベクトルとの行列ベクトル積に、中間ベクトルを加える演算を実行可能なパイプライン演算部と
を備え、
当該演算プログラムは、前記演算装置に、前記第1部分行列および前記第1部分ベクトルの行列ベクトル積のパイプライン演算中に、前記第1部分ベクトルまたは前記第1部分行列を用いた他の行列ベクトル積の演算の実行を開始させるためのものである
演算プログラム。
画像

※ 画像をクリックすると拡大します。

thum_JPA 502201659_i_000002.jpg
出願権利状態 公開
ライセンスをご希望の方、特許の内容に興味を持たれた方は、下記「問合せ先」まで直接お問い合わせください。


PAGE TOP

close
close
close
close
close
close
close