TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025008052
公報種別
公開特許公報(A)
公開日
2025-01-20
出願番号
2023109895
出願日
2023-07-04
発明の名称
コンパイルプログラム及びコンパイル方法
出願人
富士通株式会社
代理人
弁理士法人真田特許事務所
,
個人
主分類
G06F
8/41 20180101AFI20250109BHJP(計算;計数)
要約
【課題】SIMD演算するために、1つの命令の実行に要する時間を短縮するとともに、使用上の制約を軽減する。
【解決手段】メモリからロードされるメモリデータにおいて、演算ループの脱出条件を満たすデータ要素が属する少なくとも一つの配列のデータ領域を、一度に並列して処理できるデータ長であるSIMD幅以上に確保し、前記データ要素の存在する前記配列内でのデータ位置を取得し、前記データ位置に基づいて前記配列のそれぞれのデータ要素に演算マスクを設定し、前記演算マスクを用いて前記メモリデータに対するSIMD演算を実行する、処理をコンピュータが実行するコンパイル方法を提供する。
【選択図】図23
特許請求の範囲
【請求項1】
メモリからロードされるメモリデータにおいて、演算ループの脱出条件を満たすデータ要素が属する少なくとも一つの配列のデータ領域を、一度に並列して処理できるデータ長であるSIMD(Single Instruction Multiple Data)幅以上に確保し、
前記データ要素の存在する前記配列内でのデータ位置を取得し、
前記データ位置に基づいて前記配列のそれぞれの前記データ要素に演算マスクを設定し、
前記演算マスクを用いて前記メモリデータに対するSIMD演算を実行する、
処理をコンピュータに実行させるコンパイルプログラム。
続きを表示(約 950 文字)
【請求項2】
さらに、コンパイルについてのオプション設定を受け付ける処理を前記コンピュータに実行させ、
前記配列のデータ領域を前記SIMD幅以上に確保する処理は、前記オプション設定に基づいて実行される、
請求項1に記載のコンパイルプログラム。
【請求項3】
さらに、ソースプログラム中における利用者指示を認識する処理を前記コンピュータに実行させ、
前記配列のデータ領域を前記SIMD幅以上に確保する処理は、前記ソースプログラム中の前記利用者指示に基づいて実行される、
請求項1に記載のコンパイルプログラム。
【請求項4】
さらに、ループ命令を展開することによって並列実行可能なコードを増やすループアンロールを前記コンピュータに実行させ、
前記配列のデータ領域を前記SIMD幅以上に確保する処理は、前記SIMD幅をループアンロール回数倍した領域以上のデータ領域を確保する、
請求項1に記載のコンパイルプログラム。
【請求項5】
前記配列の少なくとも一つは、複数の離散したデータ領域を有する、
請求項1に記載のコンパイルプログラム。
【請求項6】
さらに、ソースプログラムを解析し、
解析結果に基づいて、前記ソースプログラムを中間コードに変換し、
前記中間コードを機械語プログラムに変換する、
処理を前記コンピュータに実行させる、
請求項1に記載のコンパイルプログラム。
【請求項7】
メモリからロードされるメモリデータにおいて、演算ループの脱出条件を満たすデータ要素が属する少なくとも一つの配列のデータ領域を、一度に並列して処理できるデータ長であるSIMD(Single Instruction Multiple Data)幅以上に確保し、
前記データ要素の存在する前記配列内でのデータ位置を取得し、
前記データ位置に基づいて前記配列のそれぞれの前記データ要素に演算マスクを設定し、
前記演算マスクを用いて前記メモリデータに対するSIMD演算を実行する、
処理をコンピュータが実行するコンパイル方法。
発明の詳細な説明
【技術分野】
【0001】
本発明は、コンパイルプログラム及びコンパイル方法に関する。
続きを表示(約 1,500 文字)
【背景技術】
【0002】
コンピュータにおいて、演算性能を向上させるために、複数のデータに対する演算を同じ演算器で並列に実行する、SIMD(Single Instruction Multiple Data)命令が利用されることが多くなっている。特に、高い演算性能が期待されるスーパーコンピュータ又はサーバ内で動作する演算処理装置において、SIMD命令が用意されている。演算処理装置は、プロセッサと呼ばれることもある。
【0003】
SIMD命令をサポートしているプロセッサは、SIMD命令の実行時に、メモリからメモリデータをレジスタに読み出し、そのレジスタを使用して、所定のSIMD要素単位(SIMD処理単位)に含まれる複数のデータ要素を単位として並列に演算を行なう。そして、プロセッサは、それらの複数のSIMD要素を含むSIMD要素単位として、演算結果をメモリに格納する。例えば、8バイトのデータ要素が8個集まってSIMD要素単位が構成されてよい。8個の要素に対して同時に同じ演算を行う場合、SIMD要素の個数(要素数)は8個である。
【0004】
また、ソフトウェアで記述されるプログラムロジック、特に、ループ処理(すなわち、繰り返し処理)を高速化するために、コンパイラが最適な命令展開を行うことが望まれる。ループ処理を高速化する技術として、ループアンロール、ソフトウェアパイプライン、ループマージ等、様々な方法が考案されている。
【0005】
ループ処理を伴うプログラムにおいてSIMD演算するために、ファーストフォールトロード(First fault load)命令を用いる手法が知られている。
【先行技術文献】
【特許文献】
【0006】
特表2018-534672号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
SIMD演算するために、ファーストフォールトロード命令を用いる手法は、ファーストフォールトロード命令を用いない通常のSIMD命令を用いる手法に比べて、1つの命令の実行に要する時間、すなわち、命令レイテンシが長くなるので、性能向上が難しい場合がある。
【0008】
また、ファーストフォールトロード命令は、アドレッシングに制限があり、命令の種類が少ない。したがって、ファーストフォールトロード命令は、コンパイラのオブジェクト展開及び最適化において制約となり得る。また、ファーストフォールトロード命令を用いることができるCPU(Central Processing Unit)は、ファーストフォールトロード命令に対応しているCPUに限られるという制約がある。
【0009】
1つの側面では、本発明は、SIMD演算するために、1つの命令の実行に要する時間を短縮するとともに、使用上の制約を軽減することを目的とする。
【課題を解決するための手段】
【0010】
1つの側面では、コンパイルプログラムは、メモリからロードされるメモリデータにおいて、演算ループの脱出条件を満たすデータ要素が属する少なくとも一つの配列のデータ領域を、一度に並列して処理できるデータ長であるSIMD幅以上に確保し、前記データ要素の存在する前記配列内でのデータ位置を取得し、前記データ位置に基づいて前記配列のそれぞれの前記データ要素に演算マスクを設定し、前記演算マスクを用いて前記メモリデータに対するSIMD演算を実行する、処理をコンピュータに実行させる。
【発明の効果】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
富士通株式会社
測定装置
25日前
富士通株式会社
画像変換機器と方法
28日前
富士通株式会社
信号相関量の確定装置と方法
11日前
富士通株式会社
データセット特徴タイプ推論
11日前
富士通株式会社
光伝送装置および光伝送システム
12日前
富士通株式会社
双方向光リンクの異常モニタリング
14日前
富士通株式会社
バイアスのための生成人工知能の検査
4日前
富士通株式会社
情報処理プログラムおよび情報処理方法
11日前
富士通株式会社
制御プログラム、制御方法及び決済装置
7日前
富士通株式会社
大規模言語モデルを使用したデータ調整
11日前
富士通株式会社
選択プログラム、選択装置、及び選択方法
14日前
富士通株式会社
圧縮プログラム、圧縮方法および圧縮装置
25日前
富士通株式会社
無線アクセスネットワークプロビジョニング
11日前
富士通株式会社
光送信機サブ信号光位相差の確定装置と方法
11日前
富士通株式会社
赤外線センサ、及び赤外線センサの製造方法
20日前
富士通株式会社
広告画像を生成する方法、装置及び記憶媒体
18日前
富士通株式会社
演算プログラム、演算方法、および情報処理装置
11日前
富士通株式会社
量子ビットデバイス及び量子ビットデバイスの製造方法
18日前
富士通株式会社
情報処理プログラム、情報処理方法、及び情報処理装置
12日前
富士通株式会社
情報処理プログラム、情報処理装置、および情報処理方法
7日前
富士通株式会社
光送信機のサブ信号の遅延差のリアルタイム監視装置及び方法
11日前
富士通株式会社
出力制御プログラム、出力制御方法およびナビゲーション装置
1か月前
富士通株式会社
ブロックチェーンに基づくエスクローされたマーケットプレイス
11日前
富士通株式会社
光伝送路特性推定装置、光伝送システム、及び光伝送路特性推定方法
12日前
富士通株式会社
共有メモリ制御プログラム、共有メモリ制御方法および情報処理装置
11日前
富士通株式会社
スタート支援装置、スタート支援方法、およびスタート支援プログラム
12日前
富士通株式会社
棄却なしの並列試行マルコフ連鎖モンテカルロ法を用いた統計的サンプリング
4日前
富士通株式会社
機械学習プログラム、機械学習方法、推論プログラム、推論方法及び情報処理装置
25日前
富士通株式会社
交通シミュレーションの進化を予測するための、コンピュータにより実施される方法
27日前
富士通株式会社
依存情報を列に集約したマトリクススケジューラ及びマトリクススケジューリング方法
19日前
富士通株式会社
量子回路シミュレーションプログラム、量子回路シミュレーション方法および情報処理装置
20日前
富士通株式会社
機械学習プログラム、判定プログラム、機械学習方法、判定方法、機械学習装置、および判定装置
4日前
個人
対話装置
1か月前
個人
情報処理装置
1か月前
個人
情報処理システム
4日前
個人
記入設定プラグイン
20日前
続きを見る
他の特許を見る