intel oneAPI DPC ++/C++ コンパイラーを使い始める
導入
インテル® oneAPI DPC++/C++ コンパイラーは、最新の C、C++、SYCL 言語標準をサポートし、Windows* および Linux* 上のインテル® 64 アーキテクチャーでアプリケーションを高速に実行するための最適化を提供します。このコンパイラーは、高度な C、C++、SYCL 言語標準をサポートすることで、大幅に高速に実行できる最適化されたコードを生成します。tagインテル® Xeon® プロセッサーおよび互換プロセッサーのコア数とベクトルレジスター幅はますます増加しています。インテル® コンパイラーは、優れた最適化と SIMD (Single Instruction Multiple Data) ベクトル化、インテル® パフォーマンス ライブラリーとの統合、OpenMP* 5.0/5.1 並列プログラミング モデルの活用により、アプリケーションのパフォーマンスを向上させます。
インテル® oneAPI DPC++/C++ コンパイラーは、C++ ベースの SYCL* ソースをコンパイルします。 file幅広いコンピューティング アクセラレータに対応します。
Intel® oneAPI DPC++/C++ コンパイラーは、Intel® oneAPI ツールキットの一部です。
もっと見る
コンテンツの説明とリンク |
リリースノート 既知の問題と最新情報については、リリース ノート ページをご覧ください。
Intel® oneAPI プログラミング ガイド Intel® oneAPI DPC++/C++ コンパイラーの詳細を説明します。 SYCL* および OpenMP* オフロードの詳細、さまざまなターゲット アクセラレータ向けのプログラミング、Intel® oneAPI ライブラリの紹介など、プログラミング モデルについて説明します。 インテル® oneAPI DPC++/C++ インテル® oneAPI DPC++/C++ コンパイラーの機能とセットアップについて コンパイラ開発者ガイドと コンパイラオプション、属性、および 参照 もっと。 oneAPI コードSampレ 最新のoneAPIコードを調べるampレ。 • インテル® oneAPI データ並列 C+ Intel® oneAPI Data Parallel C+ で質問して回答を見つけましょう + フォーラム + および Intel® C++ コンパイラ フォーラム。
インテル® oneAPI DPC++/C++ チュートリアル、トレーニング資料、その他のIntel® oneAPI コンパイラのドキュメント DPC++/C++ コンパイラのドキュメント。 SYCL仕様バージョン1.2.1 SYCL仕様では、SYCLがOpenCLデバイスをどのように統合するかを説明しています。 PDF 最新の C++ を使用します。 https://www.khronos.org/sycl/ オーバーview SYCLの。 GNU* C++ ライブラリ – 使用方法 デュアル ABI の使用に関する GNU* C++ ライブラリのドキュメント。 デュアルABI |
Yocto* プロジェクトのレイヤー meta-intelを使用してYoctoプロジェクトビルドにoneAPIコンポーネントを追加する
レイヤー。 |
通知と免責事項
インテルのテクノロジーでは、有効なハードウェア、ソフトウェア、またはサービスのアクティベーションが必要になる場合があります。
- 絶対に安全な製品やコンポーネントはありません。
- 費用と結果は異なる場合があります。
© インテル コーポレーション。 Intel、Intel ロゴ、およびその他の Intel マークは、Intel Corporation またはその子会社の商標です。 他の名前およびブランドは、他者の所有物であると主張される場合があります。
この文書によって、いかなる知的財産権に対するライセンス(明示的または黙示的、禁反言またはその他の方法による)も付与されることはありません。
記載されている製品には、エラッタと呼ばれる設計上の欠陥やエラーが含まれている可能性があり、製品が公表されている仕様から逸脱する可能性があります。現在特徴付けられているエラッタは、リクエストに応じて入手できます。
インテルは、商品性、特定の目的への適合性、および非侵害の黙示の保証、および履行過程、取引過程、または商取引での使用から生じる保証を含むがこれらに限定されない、すべての明示的および黙示的保証を否認します。
Linuxを使い始める
始める前に
環境変数の設定
コンパイラを使用する前に、初期化ユーティリティを使用して環境スクリプトをソースし、環境変数を設定する必要があります。これにより、すべてのツールが 1 つの手順で初期化されます。
- インストールディレクトリを決定します。 :
- a. コンパイラがルートユーザーまたはsudoユーザーによってデフォルトの場所にインストールされた場合、コンパイラは/opt/intel/oneapiの下にインストールされます。この場合、は /opt/intel/oneapi です。
- b. 非ルートユーザーの場合、intel/oneapiの下のホームディレクトリが使用されます。この場合、
$HOME/intel/oneapi になります。 - c. クラスターまたはエンタープライズユーザーの場合、管理チームが共有ネットワーク上にコンパイラをインストールしている可能性があります。 file システム。インストール場所については、ローカルの管理スタッフに確認してください。
( )。
- シェルの環境設定スクリプトをソースします。
- a. bash: ソース/setvars.sh インテル64
- b. csh/tcsh: ソース/setvars.csh インテル64
GPU ドライバーまたはプラグインをインストールする (オプション)
C++ と SYCL* を使用して、Intel、AMD*、または NVIDIA* GPU で実行される oneAPI アプリケーションを開発できます。特定の GPU 用のアプリケーションを開発して実行するには、まず対応するドライバーまたはプラグインをインストールする必要があります。
- Intel GPU を使用するには、最新の Intel GPU ドライバーをインストールしてください。
- AMD GPU を使用するには、AMD GPU 用 oneAPI プラグインをインストールします。
- NVIDIA GPU を使用するには、NVIDIA GPU 用 oneAPI プラグインをインストールします。
オプション1: コマンドラインを使用する
Intel® oneAPI DPC++/C++ コンパイラーは複数のドライバーを提供します。
次の構文を使用してコンパイラを呼び出します。
{コンパイラ ドライバ} [オプション] file1 [file2…]
例えばamp上:
icpx hello-world.cpp
SYCL コンパイルの場合は、C++ ドライバーで -fsycl オプションを使用します。
icpx -fsycl hello-world.cpp
注記: -fsycl を使用する場合、コマンドで -fsycl-targets が明示的に設定されていない限り、-fsycl-targets=spir64 が想定されます。
NVIDIA または AMD GPU をターゲットとしている場合は、詳細なコンパイル手順については、対応する GPU プラグインのスタートガイドを参照してください。
- NVIDIA GPU 向け oneAPI 入門ガイド
- AMD GPU 向け oneAPI 入門ガイド
オプション 2: Eclipse* CDT を使用する
Eclipse* CDT 内からコンパイラーを呼び出すには、次の手順に従います。
Intel® コンパイラー Eclipse CDT プラグインをインストールします。
- Eclipseを起動する
- ヘルプ > 新しいソフトウェアのインストールを選択
- 「追加」を選択して「サイトの追加」ダイアログを開きます
- アーカイブを選択し、ディレクトリを参照します/コンパイラ/ /linux/ide_support、.zipを選択 file com.intel.dpcpp.compilerで始まるものを選択し、OKを選択します。
- Intelで始まるオプションを選択し、次へを選択して、インストール手順に従います。
- Eclipseを再起動するかどうか尋ねられたら、「はい」を選択します。
新しいプロジェクトを構築するか、既存のプロジェクトを開きます。
- Eclipse で既存のプロジェクトを開くか、新しいプロジェクトを作成する
- プロジェクトを右クリック > プロパティ > C/C++ ビルド > ツールチェーン エディター
- 右パネルからIntel DPC++/C++コンパイラを選択します。
ビルド構成を設定します。
- Eclipseで既存のプロジェクトを開く
- プロジェクトを右クリック > プロパティ > C/C++ ビルド > 設定
- 右側のパネルでビルド構成を作成または管理します
コマンドラインからプログラムを構築する
以下の手順に従って、コンパイラのインストールをテストし、プログラムをビルドします。
- テキストエディタを使用して file 次の内容を含む hello-world.cpp と呼ばれます。
- hello-world.cpp をコンパイルします。
icpx hello-world.cpp -o hello-world
-oオプションは、 file 生成された出力の名前。 - これで、hello-world という実行可能ファイルが作成され、実行してすぐにフィードバックを得ることができます。
どの出力
コンパイラオプションでコンパイルを指示したり制御したりできます。例:ample、オブジェクトを作成できます file 最終バイナリを 2 つのステップで出力します。
- hello-world.cpp をコンパイルします。
-c オプションは、このステップでのリンクを防止します。
- icpx コンパイラを使用して、結果のアプリケーション オブジェクト コードをリンクし、実行可能ファイルを出力します。
-oオプションは生成された実行ファイルを指定する file 名前。使用可能なオプションの詳細については、コンパイラ オプションを参照してください。
Windows で始める
始める前に
環境変数の設定
コンパイラは、次のバージョンの Microsoft Visual Studio* に統合されます。
- ビジュアルスタジオ2022
- ビジュアルスタジオ2019
- ビジュアルスタジオ2017
注記 Microsoft Visual Studio 2017 のサポートは、Intel® oneAPI 2022.1 リリース以降は非推奨となり、将来のリリースでは削除される予定です。
デバッグや開発を含む Visual Studio の全機能を使用するには、Visual Studio Community Edition 以上が必要です。Visual Studio Express Edition では、コマンド ライン ビルドのみが可能です。すべてのバージョンで、Visual Studio インストールの一部として Microsoft C++ サポートを選択する必要があります。Visual Studio 2017 以降では、カスタム インストールを使用してこのオプションを選択する必要があります。
通常、Windows ではコンパイラのコマンドライン ウィンドウによって環境変数が自動的に設定されるので、環境変数を設定する必要はありません。環境変数を設定する必要がある場合は、スイート固有の「Get Started」ドキュメントで説明されているように、環境スクリプトを実行します。
デフォルトのインストールディレクトリ( ) は C:\Program File(x86)\Intel\oneAPI.
GPU ドライバーをインストールする (オプション)
Intel GPU 用のアプリケーションを開発および実行するには、まず最新の Intel GPU ドライバーをインストールする必要があります。
オプション 1: Microsoft Visual Studio のコマンド ラインを使用する
Intel® oneAPI DPC++/C++ コンパイラーは複数のドライバーを提供します。
次の構文を使用してコンパイラを呼び出します。
Microsoft Visual Studio からコマンド ラインを使用してコンパイラを起動するには、コマンド プロンプトを開いてコンパイル コマンドを入力します。たとえば、amp上:
SYCL コンパイルの場合は、C++ ドライバーで -fsycl オプションを使用します。
注記: -fsycl を使用する場合、コマンドで -fsycl-targets が明示的に設定されていない限り、-fsycl-targets=spir64 が想定されます。
オプション2: Microsoft Visual Studioを使用する
Microsoft Visual Studio での Intel® DPC++/C++ コンパイラーのプロジェクト サポート
DPC++ 用の新しい Microsoft Visual Studio プロジェクトは、Intel® oneAPI DPC++/C++ コンパイラーを使用するように自動的に構成されます。
新しい Microsoft Visual C++* (MSVC) プロジェクトは、Intel® oneAPI DPC++/C++ コンパイラーを使用するように手動で構成する必要があります。
注記: NETベースのCLR C++プロジェクトタイプは、Intel® oneAPI DPC++/C++コンパイラーではサポートされていません。具体的なプロジェクトタイプは、Visual Studioのバージョンによって異なります。例:ample: CLR クラス ライブラリ、CLR コンソール アプリ、または CLR 空のプロジェクト。
Microsoft Visual Studio で Intel® DPC++/C++ コンパイラを使用する
正確な手順は、使用している Microsoft Visual Studio のバージョンによって異なる場合があります。
- Microsoft Visual C++ (MSVC) プロジェクトを作成するか、既存のプロジェクトを開きます。
- ソリューション エクスプローラーで、Intel® oneAPI DPC++/C++ コンパイラーを使用してビルドするプロジェクトを選択します。
- プロジェクト > プロパティを開きます。
- 左側のペインで、[構成プロパティ] カテゴリを展開し、[全般] プロパティ ページを選択します。
- 右側のペインで、プラットフォーム ツールセットを使用するコンパイラに変更します。
- SYCL を使用した C++ の場合は、Intel® oneAPI DPC++ コンパイラーを選択します。
- C/C++ には 2 つのツールセットがあります。
Intel C++コンパイラを選択(元ample 2021) が icx を呼び出します。
Intel C++コンパイラを選択(元amp19.2) icl を援用する。
または、[プロジェクト] > [Intel コンパイラー] > [Intel oneAPI DPC++/C++ コンパイラーの使用] を選択して、選択したプロジェクトのサポートされているすべてのプラットフォームと構成のツールセットとしてコンパイラー バージョンを指定することもできます。
- 単一のプロジェクトの場合は [ビルド] > [プロジェクトのみ] > [リビルド] を使用し、ソリューションの場合は [ビルド] > [ソリューションのリビルド] を使用してリビルドします。
コンパイラのバージョンを選択
Intel® oneAPI DPC++/C++ コンパイラーの複数のバージョンがインストールされている場合は、[コンパイラーの選択] ダイアログ ボックスから必要なバージョンを選択できます。
- プロジェクトを選択し、「ツール」>「オプション」>「Intelコンパイラおよびライブラリ」> > コンパイラー、値は C++ または DPC++ です。
- 「選択したコンパイラ」ドロップダウン メニューを使用して、適切なバージョンのコンパイラを選択します。
- [OK]を選択します。
Microsoft Visual Studio C++ コンパイラに戻る
プロジェクトで Intel® oneAPI DPC++/C++ コンパイラーを使用している場合は、Microsoft Visual C++ コンパイラーに切り替えることもできます。
- Microsoft Visual Studio でプロジェクトを選択します。
- 右クリックして、コンテキスト メニューから [Intel コンパイラ] > [Visual C++ の使用] を選択します。
このアクションはソリューションを更新します file Microsoft Visual Studio C++コンパイラを使用するには、プロジェクトをクリーンアップしないを選択しない限り、影響を受けるプロジェクトのすべての構成が自動的にクリーンアップされます。プロジェクトをクリーンアップしない場合は、すべてのソースコードが確実に更新されるように、更新されたプロジェクトを再構築する必要があります。 fileは新しいコンパイラでコンパイルされます。
コマンドラインからプログラムを構築する
以下の手順に従って、コンパイラのインストールをテストし、プログラムをビルドします。
- テキストエディタを使用して file 次の内容を含む hello-world.cpp と呼ばれます。
#含むint main() std::cout << “Hello, world!\n”; 0を返します。 - hello-world.cpp をコンパイルします。
icx hello-world.cpp - これで、hello-world.exe という実行可能ファイルが作成され、実行してすぐにフィードバックを得ることができます。
hello-world.exe
出力は次のようになります:
こんにちは世界!
コンパイラオプションでコンパイルを指示したり制御したりできます。例:ample、オブジェクトを作成できます file 最終バイナリを 2 つのステップで出力します。
- hello-world.cpp をコンパイルします。
icx hello-world.cpp /c /Fohello-world.obj
/cオプションはこのステップでのリンクを防止し、/Foはオブジェクトの名前を指定します。 file. - icx コンパイラを使用して、結果のアプリケーション オブジェクト コードをリンクし、実行可能ファイルを出力します。
icx hello-world.obj /Fehello-world.exe - /Feオプションは生成される実行ファイルを指定する file 名前。使用可能なオプションの詳細については、コンパイラ オプションを参照してください。
Sをコンパイルして実行するampルコード
複数のコードampインテル® oneAPI DPC++/C++ コンパイラー用のファイルが提供されているので、コンパイラーの機能を調べて、その動作に慣れることができます。例:amp上:
次のステップ
- 最新のoneAPIコードSを使用するampファイルを読み、Intel® oneAPI トレーニング リソースに従ってください。
- Intel® Developer Zone で、Intel® oneAPI DPC++/C++ コンパイラー開発者ガイドおよびリファレンスを参照してください。
ドキュメント / リソース
![]() |
intel oneAPI DPC ++/C++ コンパイラーを使い始める [pdf] ユーザーガイド oneAPI DPC C コンパイラーを使い始める、oneAPI DPC C コンパイラーを使い始める |