インテル® Fortran コンパイラー XE 13.1 ユーザー・リファレンス・ガイド

ガイド付き自動並列化の使用

インテル® コンパイラーのガイド付き自動並列化機能は、シリアルコードのアプリケーション・パフォーマンスを向上させるためのアドバイスを提供します。コンパイラーの自動ベクトル化および並列化機能を利用し、データ操作の効率を向上させるための変更を提案します。実行パフォーマンスを向上するためにスレッド化されたコードを実装する必要はありません。また、コードがスレッド化または並列化されている必要もありません。

このツールを起動するには、コンパイラー・オプション -guide[=n] (Linux*) または /Qguide[:n] (Windows*) を使用します。 このオプションを使用すると、コンパイラーはメッセージを出力し、アプリケーションのパフォーマンスを最適化する方法を推奨します。また、-guide-vec-guide-par-guide-data-trans (Linux*)、または /Qguide-vec/Qguide-par/Qguide-data-trans (Windows*) などの特定のコンパイラー・オプションを使用して、アプリケーションのベクトル化、並列化、データ変換についての各アドバイスを得ることもできます。

ガイド付き自動並列化オプションが使用されると、コンパイラーは診断アドバイスのみを出力します。オブジェクト・ファイルや実行ファイルはこのモードでは作成されません。オプションの説明については、次の表を参照してください。

Linux*

Windows*

説明

-guide(=n)

/Qguide[:n]

自動ベクトル化とデータ変換解析のアドバイスのレベル (n) を設定します。

自動ベクトル化のアドバイスを得るには、-parallel (Linux*) または /Qparallel (Windows*) オプションを、-guide または /Qguide オプションとともに使用してください。

-guide-par(=n)

/Qguide-par[:n]

自動並列化解析のみのアドバイスのレベル (n) を設定します。

このアドバイスを得るには、-parallel (Linux*) または /Qparallel (Windows*) オプションを、-guide-par または /Qguide-par オプションとともに使用してください。

-guide-vec(=n)

/Qguide-vec[:n]

自動ベクトル化解析のみのアドバイスのレベル (n) を設定します。

-guide-data-trans(=n)

/Qguide-data-trans[:n]

データ変換解析のみのアドバイスのレベル (n) を設定します。

上記のすべてのオプションで、オプション引数 n はアドバイスのレベルを指定します。 n には、1-4 の値を指定します。 n が指定されない場合のデフォルトは 4 です。 n=1 または 2 を指定した場合、標準レベルのアドバイスが提供されます。

n=3 または n=4 を指定すると、詳細なメッセージが得られます。 例えば、特定のループの入れ子構造を最適化する方法についてのメッセージや、ループの入れ子構造内で例外処理が最適化に与える影響に関するメッセージが出力されます。あるいは、コストモデリングに関する追加情報をコンパイラーに提供する方法についてメッセージが得られることもあります (反復回数などの予想値)。

-guide または /Qguide オプションでアドバイスのレベル (n) を指定し、個々のガイドオプションで異なるアドバイスのレベル (n の値) を設定すると、各ガイドオプションの値が -guide または /Qguide オプションに指定された設定よりも優先されます。

-guide または /Qguide オプションでアドバイスのレベルを指定せず、個々のガイドオプションでアドバイスのレベルを指定した場合、個々のガイドオプションで渡されたアドバイスのレベルのうち最も高い値で -guide または /Qguide オプションが有効になります。

アドバイスメッセージの保存

ガイド付き自動並列化ツールは、シリアルコードのすべて、またはコードの各部分を解析し、アドバイスメッセージを生成します。デフォルトでは、生成されたこのメッセージは stderr に出力されます。

ファイルに保存するには、次の表に示すオプションを使用してください。

この表のオプションは、-guide または /Qguide-guide-par または /Qguide-par-guide-vec または /Qguide-vec、あるいは -guide-data-trans または /Qguide-data-trans オプションとともに使用する必要があります。 そうでない場合、オプションは無視されます。

Linux*

Windows*

説明

-guide-file[=file_name]

/Qguide-file[:file_name]

ガイド付き自動並列化のコンパイルで生成されたすべてのメッセージを指定したファイルに保存します。

-guide-file-append[=file_name]

/Qguide-file-append[:file_name]

ガイド付き自動並列化の実行中に生成されたすべてのメッセージを追加するファイルを指定します。

上記のオプションでは、file_name 引数にパスを含めることもできます。 パスを指定しない場合、ファイルは現在の作業ディレクトリーに作成されます。file_name と同じ名前のファイルがすでに存在する場合、-guide-file または /Qguide-file オプションを使用するとファイルは上書きされます。 file_name に拡張子を含めない場合は、拡張子 .guide が追加されます。

GAP メッセージのコード領域の設定

ガイド付き自動並列化の解析をアプリケーションの特定の領域 (hotspot) に制限する場合は、以下の表に示すオプションを使用します。

Linux*

Windows*

説明

-guide-opts[=string]

/Qguide-opts[:string]

string で識別される指定したコード要素を解析します。

-guide-profile(=filename|dir)

/Qguide-profile[:filename|dir]

-guide または /Qguide オプションと一緒に使用すると、ループ・プロファイラーのデータファイル (1 つまたは複数) を指定できます。

-guide-opts (Linux*) または /Qguide-opts (Windows*) オプションを、-guide-guide-vec-guide-par-guide-data-trans (Linux*) または /Qguide/Qguide-vec /Qguide-par/Qguide-data-trans (Windows*) オプションのようなガイド付き自動並列化オプションとともに使用してください。 string パラメーターを使用して、特定の領域 (hotspot) の情報を提供します。 string パラメーターには、次の変数を複数指定できます: filenameroutinerange。 コンパイラーは string パラメーターを解析して、エラーがあれば構文エラーを出力します。

構文

-guide-opts=string

string パラメーターを使用する場合は次のガイドラインに従ってください。

あるいは、-guide-profile (Linux*) または /Qguide-profile (Windows*) オプションと、-guide または /Qguide オプションを一緒に使用して、自動でアプリケーション・コード中の特定の hotspot に対象領域を絞ることができます。

構文

-guide-profile=filename | dir [ , [ filename | dir ] ... ]

-guide-profile または /Qguide-profile オプションと一緒に使用した場合に -guide あるいは /Qguide オプションによって絞り込まれる領域は、ループ・プロファイラーのインストルメント済み実行により生成される XML データファイルを処理して設定されます。 ループ・プロファイラーの結果ファイルには、実際のループ・プロファイラーのデータファイル、またはループ・プロファイラーのデータファイルを格納するディレクトリー名を指定できます。

関連情報



このヘルプトピックについてのフィードバックを送信