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

mgpu-arch、Qgpu-arch

特定のバージョンのプロセッサー・グラフィックスで実行するグラフィックス用のオフロードコードをビルドします。このオプションを指定すると、リンカーにより、オフロード実行ファイルの仮想命令セット・アーキテクチャー (ISA) を、指定されたバージョンのプロセッサー・グラフィックスのネイティブ ISA に変換するコンパイラーが呼び出されます。このオプションは、インテル® グラフィックス・テクノロジーにのみ適用されます。

アーキテクチャーの制限

インテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャー、または IA-32 アーキテクチャーで実行するインテル® グラフィックス・テクノロジーをターゲットとする場合のみ利用できます。

構文

Linux*:

-mgpu-arch=arch

macOS*:

なし

Windows*:

/Qgpu-arch:arch

引数

arch

ターゲット ISA を指定します。設定可能な値は以下のとおりです。

skylake

インテル® マイクロアーキテクチャー Skylake (開発コード名) に搭載されているグラフィックス・プロセッサー向けの命令を生成します。

broadwell

インテル® マイクロアーキテクチャー Broadwell (開発コード名) に搭載されているグラフィックス・プロセッサー向けの命令を生成します。

haswell

インテル® マイクロアーキテクチャー Haswell (開発コード名) に搭載されているグラフィックス・プロセッサー向けの命令を生成します。

デフォルト

オフ

コンパイラーは、仮想 ISA 命令を生成します。仮想命令は、実行時に、実行するプラットフォームのネイティブ ISA コードにコンパイルされなければなりません。

説明

このオプションは、特定のバージョンのプロセッサー・グラフィックスで実行するグラフィックス用のオフロードコードをビルドします。このオプションを指定すると、リンカーにより、オフロード実行ファイルの仮想命令セット・アーキテクチャー (ISA) を、指定されたバージョンのプロセッサー・グラフィックスのネイティブ ISA に変換するコンパイラーが呼び出されます。インテル® グラフィックス・テクノロジーを利用可能なオペレーティング・システムについては、「概要: インテル® グラフィックス・テクノロジー」を参照してください。

このオプションを指定しない場合、複数のプラットフォームにわたって可搬性がある、仮想 ISA ベースの実行ファイルが生成されます。この場合、仮想 ISA は、実行時に "Just-in Time" コンパイラーを呼び出してコンパイルされます。

このオプションを指定することで、コンパイルが実行時ではなくリンク時に行われるため、グラフィックス・アプリケーションのネイティブコード生成のパフォーマンスが向上するでしょう。また、実行時の仮想 ISA コードのコンパイルに伴うオーバーヘッドを回避できる場合があります。

以下は、設定可能なターゲット ISA 値とプロセッサーの対応表です。

ターゲット ISA 値 インテル® Core™ プロセッサー インテル® Pentium® プロセッサー インテル® Celeron® プロセッサー

skylake

第 6 世代インテル® Core™ プロセッサー

プロセッサー・ナンバー: N/A

プロセッサー・ナンバー: N/A

broadwell

第 5 世代インテル® Core™ プロセッサー

プロセッサー・ナンバー: 3xxx[Y または M]

プロセッサー・ナンバー: 3xxx または 2xxx[Y または M]

haswell

第 4 世代インテル® Core™ プロセッサー

プロセッサー・ナンバー: 3xx

プロセッサー・ナンバー: 29xx

IDE オプション

Visual Studio*: [Code Generation (コード生成)] > [Intel® Graphics Technology Microarchitecture (インテル® グラフィックス・テクノロジー・マイクロアーキテクチャー)]

Eclipse*: [Code Generation (コード生成)] > [Intel® Graphics Technology Microarchitecture (インテル® グラフィックス・テクノロジー・マイクロアーキテクチャー)]

Xcode*: なし

代替オプション

なし