TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025171145
公報種別
公開特許公報(A)
公開日
2025-11-20
出願番号
2024076183
出願日
2024-05-08
発明の名称
情報処理装置及び情報処理方法
出願人
富士通株式会社
代理人
弁理士法人酒井国際特許事務所
主分類
G06F
9/38 20180101AFI20251113BHJP(計算;計数)
要約
【課題】演算リソースの利用効率を向上させることができる情報処理装置及び情報処理方法を提供する。
【解決手段】DFG生成装置100は、2つのデータを組として有する複数の演算入力データを基に、2つのデータに対して所定演算を繰り返して演算結果を得るリダクション演算について、使用する演算器、演算器同士の接続経路、及び、演算結果の出力経路を含む演算構成を生成する。DFG生成装置100は、以下の各部を有する。初期DFG生成部131は、演算入力データを直接の入力として所定演算を行う演算器の数であるループ展開数を基に、初期演算構成を生成する。出力追加処理部132は、初期DFG生成部131により生成された初期演算構成に、所定演算を所定の並列度で繰り返す場合の、異なる並列度についての演算結果の出力経路を追加して第1演算構成を生成する。
【選択図】図3
特許請求の範囲
【請求項1】
2つのデータを組として有する複数の演算入力データを基に、2つのデータに対して所定演算を繰り返して演算結果を得るリダクション演算について、使用する演算器、前記演算器同士の接続経路、及び、演算結果の出力経路を含む演算構成を生成する情報処理装置であって、
前記演算入力データを直接の入力として前記所定演算を行う演算器の数であるループ展開数を基に、初期演算構成を生成する初期演算構成生成部と、
前記初期演算構成生成部により生成された前記初期演算構成に、前記所定演算を所定の並列度で繰り返す場合の、異なる並列度についての演算結果の出力経路を追加して第1演算構成を生成する出力追加処理部と
を備えたことを特徴とする情報処理装置。
続きを表示(約 830 文字)
【請求項2】
前記初期演算構成生成部は、前記ループ展開数の前記演算器に前記演算入力データを入力して前記リダクション演算を実行する場合の演算構成であって、かつ、並列度が1で前記所定演算を繰り返す場合の演算構成を前記初期演算構成として生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記出力追加処理部は、前記所定演算の並列度が2以上かつ前記ループ展開数以下の場合のそれぞれについて、出力経路を追加することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記出力追加処理部は、前記所定演算を所定の並列度で繰り返して演算結果を得るために使用する前記演算入力データの数を基に、異なる並列度についての演算結果を算出する前記所定演算に用いる2つのデータを特定し、特定した2つのデータを基に出力経路を追加することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記出力追加処理部により生成された前記第1演算構成において、前記出力追加処理部により追加された出力経路のいくつかを1つにまとめて第2演算構成を生成する出力統合処理部をさらに備えたことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
2つのデータを組として有する複数の演算入力データを基に、2つのデータに対して所定演算を繰り返して演算結果を得るリダクション演算について、使用する演算器、演算器同士の接続経路、及び、演算結果の出力経路を含む演算構成を生成する情報処理装置が、
前記演算入力データを直接の入力として前記所定演算を行う演算器の数であるループ展開数を基に、初期演算構成を生成し、
生成した前記初期演算構成に、前記所定演算を所定の並列度で繰り返す場合の、異なる並列度についての演算結果の出力経路を追加して第1演算構成を生成する
処理を実行することを特徴とする情報処理方法。
発明の詳細な説明
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
続きを表示(約 1,600 文字)
【背景技術】
【0002】
従来、データ処理の効率化や前記データ処理に伴って装置で消費する電力の効率化等の観点から、データ処理装置の1つとして、CGRA(Coarse-Grained Reconfigurable Architectures)が知られている。CGRAは、演算器及びレジスタ等を備えたPE(Processing Element)と呼ばれる演算素子を2次元アレイ状に並べた構造を有するプロセッサである。CGRAは、動作中にPEが実行する演算内容及びPE間の接続の再構成が可能である。
【0003】
CGRAを用いたプログラムの実行は以下のように行われる。実行するプログラムが、コンパイラを用いてDFG(Data Flow Graph)に変換される。次に、DFGに基づいて、CGRAの各PEの構成に合わせて、各PEが実行する演算内容及びPE間の接続が決定される。この演算内容及びPE間の接続の決定は、マッピングと呼ばれる。その後、マッピングが完了したCGRAにデータが入力されて、GCRAは、入力されたデータを用いて演算を実行する。
【0004】
ここでは、CGRAを用いたリダクション演算に注目する。ここで扱うリダクション演算とは、結合法則と交換法則が成り立つ1種類の2項演算子からなる演算である。演算の種類には、加減乗除、最大値や、最小値等がある。例えば、加算のリダクション演算は、配列が有する多数の変数の和を取る演算である。
【0005】
DFGのデータフローグラフの最適化には、Tree-height reduction及びループ展開等がある。Tree-height reductionは、DFGを木とみなして、演算子の交換法則と結合法則に基づいて木の高さを最小化する方法である。Tree-height reductionを行うことで、演算の並列性が上昇して高速化する。ループ展開は、コンパイラの最適化方式であり、ループ内の処理を指定した数並べる方法である。ループ展開は、並べた処理の数にあたるCPUが並列に使用でき、Tree-height reductionの効果を高めることができる。
【0006】
例えば、A(2×j+i)+B(2×j+i)において、jが0及び1の値を取る場合において、jの値毎にiに0及び1の値をとらせて全てを加算するリダクション演算を実行する場合を考える。この場合、演算においてj及びiに関してループが発生する。ここで、iに関するループに注目する。
【0007】
ここで、1つの変数に注目して、ループが繰り返される数をループ数と呼ぶ。そして、DFGにおいて、注目した1つの変数のループをいくつ並列で実行するかを決定して、その分のPEを割り当てることをループ展開数と呼ぶ。
【0008】
iのループ数は2である。iに関するループをそのままDGF化すると、Z(0)=A(0)+B(0)を算出するのに3サイクルかかる。また、Z(1)=A(1)+B(1)+A(2)+B(2)を算出するのに5サイクルかかる。これに対して、iに関するループをA(2×j)+B(2×j)とA(2×j+1)+B(2×j+1)との2つにループ展開すると、Z(0)は2サイクルで算出され、Z(1)は3サイクルで算出される。
【0009】
なお、ベクトル化できるループをPEに割り当てる方式として、ループ本体の実行に用いるPEの数を判定し、判定結果に基づいて複数のPEを1つ以上の融合PEに再構成して割り当てを行う技術が提案されている。
【先行技術文献】
【特許文献】
【0010】
米国特許出願公開第2020/0012618号明細書
【発明の概要】
【発明が解決しようとする課題】
(【0011】以降は省略されています)
この特許をJ-PlatPat(特許庁公式サイト)で参照する
関連特許
他の特許を見る