TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025042961
公報種別
公開特許公報(A)
公開日
2025-03-28
出願番号
2023150192
出願日
2023-09-15
発明の名称
演算処理装置および演算処理装置の動作方法
出願人
富士通株式会社
代理人
個人
,
個人
主分類
G06F
17/10 20060101AFI20250321BHJP(計算;計数)
要約
【課題】アクセラレータの構成に依存せずに、行列を冗長部分が少ないデータに並び替える。
【解決手段】複数の要素を含む行列の畳み込み計算を実行する演算処理装置は、行列を保持する第1メモリと、第1メモリに保持された行列の要素を並び替えたデータを保持する第2メモリと、行列の各行においてフィルタとの行列積演算に使用する、行方向に並ぶ複数の要素群を、行列の列方向に並ぶ複数の要素群の要素の一部と順次重複するように第2メモリの複数の行のそれぞれに一列に書き込むことで、行列の要素を並び替えて第2メモリに保持するプロセッサと、要素の一部が重複して第2メモリに書き込まれた複数の要素群とフィルタとの行列積演算を実行することで、行列の畳み込み計算を実行するアクセラレータと、を有する。これにより、演算処理装置の処理性能の向上して、機械学習等の効率を向上することができる。
【選択図】図2
特許請求の範囲
【請求項1】
複数の要素を含む行列の畳み込み計算を実行する演算処理装置であって、
前記行列を保持する第1メモリと、
前記第1メモリに保持された前記行列の要素を並び替えたデータを保持する第2メモリと、
前記行列の各行においてフィルタとの行列積演算に使用する、行方向に並ぶ複数の要素群を、前記行列の列方向に並ぶ複数の要素群の要素の一部と順次重複するように前記第2メモリの複数の行のそれぞれに一列に書き込むことで、前記行列の要素を並び替えて前記第2メモリに保持するプロセッサと、
要素の一部が重複して前記第2メモリに書き込まれた複数の要素群と前記フィルタとの行列積演算を実行することで、前記行列の畳み込み計算を実行するアクセラレータと、を有する
演算処理装置。
続きを表示(約 1,300 文字)
【請求項2】
前記アクセラレータにより複数の前記行列の畳み込み計算を実行する場合、
前記プロセッサは、複数の前記行列において同じ位置の前記要素群の同じ位置の要素を前記第2メモリの同じ行の中に隣接して書き込む
請求項1に記載の演算処理装置。
【請求項3】
複数の前記行列の行列積演算にそれぞれ使用する複数の前記フィルタは、複数の前記フィルタにおいて同じ位置の要素を隣接させて前記第2メモリの一行に保持される
請求項2に記載の演算処理装置。
【請求項4】
複数の前記行列を各々含む複数の行列群の畳み込み計算を実行する場合、
前記フィルタは、複数の前記行列群毎に前記第2メモリの互いに異なる行に保持される
請求項3に記載の演算処理装置。
【請求項5】
前記行列は、前記行列より大きいサイズの行列を複数に分割した分割行列であり、
前記プロセッサは、複数の前記分割行列の要素を順に並び替え、
前記アクセラレータは、要素が並び替えられた前記分割行列の行列積演算を順に実行し、
2番目以降の前記分割行列の要素の並び替えは、他の前記分割行列の行列積演算と並列に実行される
請求項1ないし請求項4のいずれか1項に記載の演算処理装置。
【請求項6】
複数のコアを有するコアグループと、
複数の要素を含む行列を保持する第1メモリと、
前記第1メモリに保持された前記行列の要素を並び替えたデータを保持する第2メモリと、
行列積演算を実行するアクセラレータと、を有し、
前記複数のコアは、前記行列を複数に分割した分割行列の要素をそれぞれ並び替え、並び替えたデータを前記第2メモリに書き込んだ後、並び替えたデータの行列積演算の実行を前記アクセラレータに指示し、
前記アクセラレータは、前記指示に基づいて、並び替えたデータの行列積演算を実行し、実行結果を前記第2メモリに書き込み、
前記複数のコアは、複数の前記分割行列のうち、並び替えしていない分割行列がある場合、並び替えと、並び替えたデータの前記第2メモリへの書き込みと、並び替えたデータの行列積演算の実行の指示とを行い、複数の前記分割行列の全ての並び替えが完了した場合、前記アクセラレータによる行列積演算の完了を待つ
演算処理装置。
【請求項7】
複数の要素を含む行列を保持する第1メモリと、前記第1メモリに保持された前記行列の要素を並び替えたデータを保持する第2メモリと、プロセッサと、アクセラレータと、を有する演算処理装置の動作方法であって、
前記プロセッサが、前記行列の各行においてフィルタとの行列積演算に使用する、行方向に並ぶ複数の要素群を、前記行列の列方向に並ぶ複数の要素群の要素の一部と順次重複するように前記第2メモリの複数の行のそれぞれに一列に書き込むことで、前記行列の要素を並び替えて前記第2メモリに保持し、
前記アクセラレータが、要素の一部が重複して前記第2メモリに書き込まれた複数の要素群と前記フィルタとの行列積演算を実行することで、前記行列の畳み込み計算を実行する
演算処理装置の動作方法。
発明の詳細な説明
【技術分野】
【0001】
本発明は、演算処理装置および演算処理装置の動作方法に関する。
続きを表示(約 1,400 文字)
【背景技術】
【0002】
近年、ResNet50等のCNN(Convolutional Neural Network)の発展により、畳み込み計算が多用されるようになってきている。畳み込み計算は、行列積演算が繰り返し行われるため計算量が多く、CNNを含むDNN(Deep Neural Network)の学習時間のほとんどは、計算時間で占められることが多い。
【0003】
例えば、DNNの学習には、行列積演算を実行する多数の行列積演算器を含む複数のコアが搭載されたGPU(Graphics Processing Unit)等のアクセラレータが使用される。例えば、この種のアクセラレータは、im2col変換により2次元から1次元に変換された入力データを使用して行列積演算を実行する。これにより、アクセラレータは、メモリから入力データを効率よく読み出して、行列積演算を効率よく実行することができる。
【0004】
例えば、情報処理装置において、畳み込み処理で実行される行列処理の組み合わせ毎に行列処理のコストを合計し、合計したコストが最小となる行列処理の組み合わせを選択することで、畳み込み処理の処理速度は向上する(例えば、特許文献1参照)。
【0005】
例えば、行列積演算を実行するアクセラレータは、im2col変換を実行するim2colエンジンまたはim2colモジュールを有する。im2colエンジンまたはim2colモジュールによる変換では、行列積演算器の構成に合わせて、複数の入力データの共通部分を重複させてメモリに格納することで、メモリ容量が節約される(例えば、特許文献2、3参照)。
【先行技術文献】
【特許文献】
【0006】
国際公開第2020/031281号
米国特許出願公開第2022-0066960号明細書
米国特許出願公開第2020-0133831号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
アクセラレータの構成に依存せずに、行列を冗長部分が少ないデータに並び替える手法は提案されていない。
【0008】
1つの側面では、本発明は、アクセラレータの構成に依存せずに、行列を冗長部分が少ないデータに並び替えることを目的とする。
【課題を解決するための手段】
【0009】
一つの観点によれば、演算処理装置は、複数の要素を含む行列の畳み込み計算を実行する演算処理装置であって、前記行列を保持する第1メモリと、前記第1メモリに保持された前記行列の要素を並び替えたデータを保持する第2メモリと、前記行列の各行においてフィルタとの行列積演算に使用する、行方向に並ぶ複数の要素群を、前記行列の列方向に並ぶ複数の要素群の要素の一部と順次重複するように前記第2メモリの複数の行のそれぞれに一列に書き込むことで、前記行列の要素を並び替えて前記第2メモリに保持するプロセッサと、要素の一部が重複して前記第2メモリに書き込まれた複数の要素群と前記フィルタとの行列積演算を実行することで、前記行列の畳み込み計算を実行するアクセラレータと、を有する。
【発明の効果】
【0010】
アクセラレータの構成に依存せずに、行列を冗長部分が少ないデータに並び替えることができる。
【図面の簡単な説明】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
他の特許を見る