TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2024165013
公報種別
公開特許公報(A)
公開日
2024-11-28
出願番号
2023080815
出願日
2023-05-16
発明の名称
コンパイラプログラム、判定方法および情報処理装置
出願人
富士通株式会社
代理人
弁理士法人扶桑国際特許事務所
主分類
G06F
8/41 20180101AFI20241121BHJP(計算;計数)
要約
【課題】演算の割り当て先を効率的に判定する。
【解決手段】処理部12は、中間コード11aに基づいて、データ間のデータ依存距離とループ制御に用いられるインデックス値の変化量であるストライド量とを取得する。処理部12は、中間コード11aに対応するデータフローグラフ20の経路ごとに、経路長とデータのベクトル長とに基づき、単位時間当たりにアクティブになるノード数を示すリソース使用率を計算する。処理部12は、各径路に対して、データ依存距離とストライド量とリソース使用率とに基づき、当該経路における各命令を並列に実行し得る演算リソースの数の指標である平均実行リソース数を計算する。処理部12は、各経路に対して計算した平均実行リソース数に基づいて、中間コード11aに対応する演算の割り当て先を、逐次演算を行う第1の演算器とするか、または、データ並列演算を行う第2の演算器とするかを判定する。
【選択図】図1
特許請求の範囲
【請求項1】
コンピュータに、
ソースプログラムから生成された中間コードに基づいて、前記中間コードの演算に用いられるデータ間のデータ依存距離と前記中間コードにおけるループ制御に用いられるインデックス値の変化量であるストライド量とを取得し、
前記中間コードに含まれる複数の命令に対応する複数のノードを含むデータフローグラフにおける1以上の経路であって、ロード命令のノードからストア命令のノードに至る前記1以上の経路それぞれに対して、当該経路の経路長と当該経路で用いられるデータのベクトル長とに基づき、当該経路に含まれるノードのうち、単位時間当たりにアクティブになるノード数を示すリソース使用率を計算し、
前記1以上の経路それぞれに対して、前記データ依存距離と前記ストライド量と当該経路に対応する前記リソース使用率とに基づき、当該経路における各命令を並列に実行し得る演算リソースの数の指標である平均実行リソース数を計算し、
前記1以上の経路それぞれに対して計算した前記平均実行リソース数に基づいて、前記中間コードに対応する演算の割り当て先を、逐次演算を行う第1の演算器とするか、または、データ並列演算を行う第2の演算器とするかを判定する、
処理を実行させるコンパイラプログラム。
続きを表示(約 2,000 文字)
【請求項2】
前記ロード命令の対象のデータを示す前記インデックス値と、前記ストア命令の対象のデータを示す前記インデックス値との差分を前記データ依存距離として取得する、
処理を前記コンピュータに実行させる請求項1記載のコンパイラプログラム。
【請求項3】
前記経路長と前記ベクトル長とに基づいて、該当の経路においてデータが出現する総ステップ数を計算し、当該経路の各ノードへデータが割り当てられる回数の総和を、前記総ステップ数と当該経路の総ノード数との積により割ることで、前記リソース使用率を計算する、
処理を前記コンピュータに実行させる請求項1記載のコンパイラプログラム。
【請求項4】
前記データ依存距離を、前記リソース使用率と前記ストライド量との積により割ることで、前記平均実行リソース数を計算する、
処理を前記コンピュータに実行させる請求項1記載のコンパイラプログラム。
【請求項5】
前記判定では、前記平均実行リソース数が閾値以上である経路の数と正の実数値との第1の積が、前記データフローグラフにおける前記ロード命令の数と前記ストア命令の数との第2の積以上であるか否かを判定し、
前記第1の積が前記第2の積未満である場合、前記割り当て先を前記第1の演算器とすると判定し、
前記第1の積が前記第2の積以上である場合、前記割り当て先を前記第2の演算器とすると判定する、
処理を前記コンピュータに実行させる請求項1記載のコンパイラプログラム。
【請求項6】
前記割り当て先を前記第1の演算器と判定すると、前記第1の演算器に対応する実行可能コードを生成する第1のコンパイラバックエンドに対して前記中間コードを出力し、
前記割り当て先を前記第2の演算器と判定すると、前記第2の演算器に対応する実行可能コードを生成する第2のコンパイラバックエンドに対して前記中間コードを出力する、
処理を前記コンピュータに実行させる請求項1記載のコンパイラプログラム。
【請求項7】
コンピュータが、
ソースプログラムから生成された中間コードに基づいて、前記中間コードの演算に用いられるデータ間のデータ依存距離と前記中間コードにおけるループ制御に用いられるインデックス値の変化量であるストライド量とを取得し、
前記中間コードに含まれる複数の命令に対応する複数のノードを含むデータフローグラフにおける1以上の経路であって、ロード命令のノードからストア命令のノードに至る前記1以上の経路それぞれに対して、当該経路の経路長と当該経路で用いられるデータのベクトル長とに基づき、当該経路に含まれるノードのうち、単位時間当たりにアクティブになるノード数を示すリソース使用率を計算し、
前記1以上の経路それぞれに対して、前記データ依存距離と前記ストライド量と当該経路に対応する前記リソース使用率とに基づき、当該経路における各命令を並列に実行し得る演算リソースの数の指標である平均実行リソース数を計算し、
前記1以上の経路それぞれに対して計算した前記平均実行リソース数に基づいて、前記中間コードに対応する演算の割り当て先を、逐次演算を行う第1の演算器とするか、または、データ並列演算を行う第2の演算器とするかを判定する、
判定方法。
【請求項8】
ソースプログラムから生成された中間コードを記憶する記憶部と、
前記中間コードに基づいて、前記中間コードの演算に用いられるデータ間のデータ依存距離と前記中間コードにおけるループ制御に用いられるインデックス値の変化量であるストライド量とを取得し、前記中間コードに含まれる複数の命令に対応する複数のノードを含むデータフローグラフにおける1以上の経路であって、ロード命令のノードからストア命令のノードに至る前記1以上の経路それぞれに対して、当該経路の経路長と当該経路で用いられるデータのベクトル長とに基づき、当該経路に含まれるノードのうち、単位時間当たりにアクティブになるノード数を示すリソース使用率を計算し、前記1以上の経路それぞれに対して、前記データ依存距離と前記ストライド量と当該経路に対応する前記リソース使用率とに基づき、当該経路における各命令を並列に実行し得る演算リソースの数の指標である平均実行リソース数を計算し、前記1以上の経路それぞれに対して計算した前記平均実行リソース数に基づいて、前記中間コードに対応する演算の割り当て先を、逐次演算を行う第1の演算器とするか、または、データ並列演算を行う第2の演算器とするかを判定する処理部と、
を有する情報処理装置。
発明の詳細な説明
【技術分野】
【0001】
本発明はコンパイラプログラム、判定方法および情報処理装置に関する。
続きを表示(約 1,700 文字)
【背景技術】
【0002】
異種の演算器が混在するヘテロジニアスな環境を有するコンピュータシステムが利用されている。当該コンピュータシステムは、逐次演算を行うCPU(Central Processing Unit)などの演算器やデータ並列演算を行うCGRA(Coarse Grained Reconfigurable Array)などの演算器を含み得る。
【0003】
例えば、命令セットの異なるプロセッサを集積するヘテロジニアス・マルチプロセッサシステムにおいて、タスクの実行コストに応じて汎用プロセッサグループまたはアクセラレータグループのいずれか一方へ当該タスクを割り当てるコンパイラの提案がある。提案のコンパイラは、汎用プロセッサグループおよびアクセラレータグループそれぞれのプロセッサについて、データ転送時間とタスク処理時間との和として、タスクの実行コストを求める。
【0004】
また、コンピュータが、逐次プログラムを構成する各タスクの実行時間を判断値として、それが一定値以上であれば仮の並列タスクとし、一定値未満であれば逐次タスクに分類する並列化方法の提案がある。提案の並列化方法では、コンピュータは更に、仮の並列タスクのうちハンドラ処理が干渉する可能性が低いものを並列タスクに採用し、干渉する可能性が高いものを並列タスクに採用せず逐次タスクとする。
【先行技術文献】
【特許文献】
【0005】
特開2007-328415号公報
特開2020-181407号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のように、ヘテロジニアスなコンピュータシステムでは、コンパイル時に、演算の割り当て先とする演算器の判定処理が行われ得る。当該判定処理の効率性は、コンパイルに要する時間に影響する。例えば、実行時コンパイル(JIT(Just-In-Time)コンパイル)を行う場合、当該判定処理に時間がかかると、演算完了までの時間が遅延し得る。
【0007】
1つの側面では、本発明は、演算の割り当て先を効率的に判定可能にすることを目的とする。
【課題を解決するための手段】
【0008】
1つの態様では、コンパイラプログラムが提供される。このコンパイラプログラムは、コンピュータに次の処理を実行させる。コンピュータは、ソースプログラムから生成された中間コードに基づいて、中間コードの演算に用いられるデータ間のデータ依存距離と中間コードにおけるループ制御に用いられるインデックス値の変化量であるストライド量とを取得する。コンピュータは、中間コードに含まれる複数の命令に対応する複数のノードを含むデータフローグラフにおける1以上の経路であって、ロード命令のノードからストア命令のノードに至る1以上の経路それぞれに対して、当該経路の経路長と当該経路で用いられるデータのベクトル長とに基づき、当該経路に含まれるノードのうち、単位時間当たりにアクティブになるノード数を示すリソース使用率を計算する。コンピュータは、1以上の経路それぞれに対して、データ依存距離とストライド量と当該経路に対応するリソース使用率とに基づき、当該経路における各命令を並列に実行し得る演算リソースの数の指標である平均実行リソース数を計算する。コンピュータは、1以上の経路それぞれに対して計算した平均実行リソース数に基づいて、中間コードに対応する演算の割り当て先を、逐次演算を行う第1の演算器とするか、または、データ並列演算を行う第2の演算器とするかを判定する。
【0009】
また、1つの態様では、コンピュータによって実行される判定方法が提供される。また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。
【発明の効果】
【0010】
1つの側面では、演算の割り当て先を効率的に判定できる。
【図面の簡単な説明】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
富士通株式会社
信号相関量の確定装置と方法
11日前
富士通株式会社
データセット特徴タイプ推論
11日前
富士通株式会社
光伝送装置および光伝送システム
12日前
富士通株式会社
双方向光リンクの異常モニタリング
14日前
富士通株式会社
バイアスのための生成人工知能の検査
4日前
富士通株式会社
制御プログラム、制御方法及び決済装置
7日前
富士通株式会社
情報処理プログラムおよび情報処理方法
11日前
富士通株式会社
大規模言語モデルを使用したデータ調整
11日前
富士通株式会社
選択プログラム、選択装置、及び選択方法
14日前
富士通株式会社
無線アクセスネットワークプロビジョニング
11日前
富士通株式会社
光送信機サブ信号光位相差の確定装置と方法
11日前
富士通株式会社
広告画像を生成する方法、装置及び記憶媒体
18日前
富士通株式会社
演算プログラム、演算方法、および情報処理装置
11日前
富士通株式会社
量子ビットデバイス及び量子ビットデバイスの製造方法
18日前
富士通株式会社
情報処理プログラム、情報処理方法、及び情報処理装置
12日前
富士通株式会社
情報処理プログラム、情報処理装置、および情報処理方法
7日前
富士通株式会社
光送信機のサブ信号の遅延差のリアルタイム監視装置及び方法
11日前
富士通株式会社
ブロックチェーンに基づくエスクローされたマーケットプレイス
11日前
富士通株式会社
共有メモリ制御プログラム、共有メモリ制御方法および情報処理装置
11日前
富士通株式会社
光伝送路特性推定装置、光伝送システム、及び光伝送路特性推定方法
12日前
富士通株式会社
スタート支援装置、スタート支援方法、およびスタート支援プログラム
12日前
富士通株式会社
棄却なしの並列試行マルコフ連鎖モンテカルロ法を用いた統計的サンプリング
4日前
富士通株式会社
依存情報を列に集約したマトリクススケジューラ及びマトリクススケジューリング方法
19日前
富士通株式会社
量子回路シミュレーションプログラム、量子回路シミュレーション方法および情報処理装置
20日前
富士通株式会社
機械学習プログラム、判定プログラム、機械学習方法、判定方法、機械学習装置、および判定装置
4日前
個人
対話装置
1か月前
個人
情報処理装置
1か月前
個人
情報処理システム
4日前
個人
情報処理装置
28日前
個人
検査システム
6日前
個人
記入設定プラグイン
20日前
個人
情報入力装置
1か月前
株式会社サタケ
籾摺・調製設備
5日前
個人
不動産売買システム
12日前
キヤノン電子株式会社
携帯装置
5日前
個人
物価スライド機能付生命保険
1か月前
続きを見る
他の特許を見る