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で参照する
関連特許
富士通株式会社
予測
3日前
富士通株式会社
プロセッサ
10日前
富士通株式会社
シーン検出
3日前
富士通株式会社
金融システム
25日前
富士通株式会社
異常な挙動の検出
11日前
富士通株式会社
基地局装置及び通信方法
24日前
富士通株式会社
キュービット・マッピング
28日前
富士通株式会社
キュービット・ルーティング
28日前
富士通株式会社
異常検知装置および異常検知方法
10日前
富士通株式会社
画像視角変化類型検出装置と方法
11日前
富士通株式会社
機械学習方法および情報処理装置
11日前
富士通株式会社
連携装置、連携方法、連携プログラム
24日前
富士通株式会社
情報処理装置及びデータ転送制御方法
25日前
富士通株式会社
ネットワーク装置及びモデル学習方法
10日前
富士通株式会社
疾患予測根拠表示方法及びプログラム
24日前
富士通株式会社
光伝送装置および送信光パワー制御方法
4日前
富士通株式会社
歪み補正係数算出方法およびプログラム
18日前
富士通株式会社
データ連携方法及びデータ連携プログラム
18日前
富士通株式会社
モジュール搭載装置、及び、情報処理装置
24日前
富士通株式会社
支援プログラム、支援方法及び情報処理装置
10日前
富士通株式会社
制御プログラム、制御方法および制御システム
17日前
富士通株式会社
生成プログラム、生成方法および情報処理装置
3日前
富士通株式会社
評価プログラム、評価方法および情報処理装置
3日前
富士通株式会社
推定プログラム、推定方法、及び情報処理装置
10日前
富士通株式会社
プログラム、データ処理装置及びデータ処理方法
18日前
富士通株式会社
データ処理装置、プログラム及びデータ処理方法
今日
富士通株式会社
演算プログラム、演算方法、および情報処理装置
24日前
富士通株式会社
通信制御装置、通信装置、端末、及び通信システム
24日前
富士通株式会社
情報処理プログラム、情報処理方法及び情報処理装置
4日前
富士通株式会社
情報処理プログラム、情報処理方法及び情報処理装置
3日前
富士通株式会社
移動目標検出のためのレーダ点群の処理方法及び装置
19日前
富士通株式会社
情報処理プログラム、情報処理方法、及び情報処理装置
24日前
富士通株式会社
割当制御プログラム、割当制御方法および情報処理装置
17日前
富士通株式会社
温度調整プログラム、データ処理装置及びデータ処理方法
28日前
富士通株式会社
情報処理プログラム、情報処理方法、および情報処理装置
25日前
富士通株式会社
機械学習パイプライン部品判定プログラム、方法、及び装置
11日前
続きを見る
他の特許を見る