インテル® C++ コンパイラー 19.1 デベロッパー・ガイドおよびリファレンス

qoffload-option

指定したターゲットとツールで使用されるオプションを明示的に指定できます。このオプションは、Linux* でインテル® Xeon Phi™ 製品をターゲットとする場合にのみ適用されます。

アーキテクチャーの制限

インテル® Xeon Phi™ 製品をターゲットとする場合にのみ利用できます。

構文

Linux*:

-qoffload-option,target,tool,"option-list"

macOS*:

なし

Windows*:

なし

引数

target

特定のターゲットまたはアプリケーション。次の値がサポートされます: mic

tool

option-list と関連するツール。次のいずれかの値を使用できます: ldas、または compiler

ld は、Linux* 用のリンカーツールです。

option-list

ツール固有の 1 つまたは複数のオプション。リスト全体を引用符 (") で囲み、option-list 中の各オプションはスペースで区切る必要があります。

tool の値が compiler の場合はコンパイラー固有のオプションを、ld の場合はリンカー固有のオプションを、そして as の場合はアセンブラー固有のオプションを使用します。

デフォルト

オフ

コンパイラーは、ターゲット・アーキテクチャー上の個別のツールに対して追加のオプションを渡しません。

説明

このオプションを使用して、指定した targettool で使用されるオプションを明示的に指定できます。このオプションは、コマンドラインで複数回指定することができます。

ヘテロジニアス・アプリケーションをビルドする場合、ドライバーはホストコンパイルにはコマンドラインで指定されたすべてのオプションを渡し、オフロードコンパイルには特定のオプションのみ渡します。オフロードコンパイルに渡されるオプションのリストを確認するには、watch=mic-cmd オプションを指定します。

オフロードコンパイルに追加のオプションを渡す場合やオフロードコンパイルに渡されるオプションをオーバーライドする場合は、qoffload-option オプションを使用して追加のオプションまたはオーバーライドするオプションを指定する必要があります。

qoffload-option オプションと一緒に ILD、または U オプションを指定すると、ホストからオフロードコンパイルへ自動で渡される ILD、および U オプションよりも優先されます。

確実にオーバーライドするため、qoffload-option オプションと一緒に指定する ILD、および U オプションは、ホストコンパイルから自動でコピーされる ILD、および U オプションよりも前に配置してください。qoffload-option と一緒に指定するその他のすべてのオプションは、ホストからオフロードコンパイルにコピーされるオプションの後に配置します。

IDE オプション

Visual Studio*: なし

Eclipse*: [Compiler (コンパイラー)] > [Command Line (コマンドライン)] > [Additional Options for MIC Offload Compiler (MIC オフロード・コンパイラー用追加オプション)]

Xcode*: なし

代替オプション

なし

次に、tool 値が compiler の場合の例を示します。

-qoffload-option,mic,compiler, "-O3 -diag-disable 1234 –vec-report2"    

次に、tool 値が compiler の場合の別の例を示します。

-qoffload-option,mic,compiler, "-O3 –vec-report3"     

次に、tool 値が Linux* 用の ld の場合の例を示します。

-qoffload-option,mic,ld,"-lmylib -L/my/path"

option-list でスペースを含むパスを指定する場合は、コンパイラーが正しく解釈できるように、エスケープ文字と引用符 (\") でパスを囲む必要があります。

次に、tool 値が Linux* 用の as の場合の例を示します。

-qoffload-option,mic,as,"<assembler options>"     

次の例で、オフロードコンパイルは最初に -I/my_dir/mic/include を検索し、前出の -I/my_dir/include-DMY_DEFINE=10 をオーバーライドする-DMY_DEFINE=20 を使用します。また、コンパイラーは -L/my_dir/mic/lib -L/my_dir/lib をオフロードの ld ステップに渡します。

icc -qoffload-option,mic,compiler, "-I/my_dir/include -L/my_dir/lib -DMY_DEFINE=10 -I/my_dir/mic/include -DMY_DEFINE=20" -offload-option,mic,ld, "-L/my_dir/mic/lib" hello.c

次の例は、-qoffload-option で指定したオプションにより、ホストコンパイルからオフロードコンパイルへ自動で渡されるオプションをオーバーライドする方法を示します。

-qoffload-option,mic,compiler,"-O3 -DMY_DEFINE=MIC" -DMY_DEFINE=HOST -O2

ホストコンパイルでは -DMY_DEFINE=HOST -O2 が使用されますが、オフロードコンパイルでは -DMY_DEFINE=MIC -O3-O2-DMY_DEFINE=HOST をオーバーライドします。

関連情報