インテル® oneAPI ベース・ツールキット (Linux* 版) 導入ガイド

コマンドラインを使用したサンプル・プロジェクトのビルドと実行

インテル® oneAPI ベース・ツールキット

開発環境をまだ設定していない場合は、「システムの設定」を行ってからこのページに戻りますシステムの設定が完了している場合は、以下の手順に進みます。

コマンドライン開発は、ターミナルウィンドウまたは Visual Studio* Code を使用して行います。VS Code のローカルでの使用方法については、「Linux* 上での Visual Studio* Code と oneAPI の基本的な使い方」 (英語) を参照してください。VS Code のリモートでの使用方法については、「Linux* 上での oneAPI を使用したリモート Visual Studio* Code 開発」 (英語) を参照してください。

サンプルをコンパイルして実行するには、次の操作を行います。

  1. oneAPI CLI サンプルブラウザーを使用してサンプル・プロジェクトを見つけます。
  2. Make* または CMake* でサンプル・プロジェクトをビルドして実行します。

oneAPI CLI サンプルブラウザーを使用したサンプルのダウンロード

oneAPI CLI サンプルブラウザーを使用して、オンラインの oneAPI サンプルのコレクションを参照します。これらのサンプルは、ビルド可能なサンプル・プロジェクトとしてローカルディスクにコピーできます。ほとんどの oneAPI サンプル・プロジェクトは Make または CMake* でビルドされており、サンプルに同梱の README ファイルにビルド手順が含まれています。oneAPI CLI ユーティリティーは、ダイナミック・ランタイム・ライブラリーに依存しない、単一のスタンドアロンの実行ファイルです。

インテル® oneAPI ツールキット用のサンプルのダウンロードには、インターネット接続が必要です。ツールキットをオフラインで使用する方法については、「トラブルシューティング」の「オフラインシステムでの開発」を参照してください。

コマンドラインでプロジェクトを作成する方法を紹介したビデオは、「コマンドラインでインテル® oneAPI サンプルを使用する」 (英語) を参照してください。

  1. ターミナルウィンドウを開きます。
  2. システムの設定」で「オプション 2: setvars.sh を一度だけ設定する」を完了しなかった場合は、setvars を source してシステム変数を設定します。

    root または sudo としてインストールした場合:

    . opt/intel/oneapi/setvars.sh

    ローカルユーザーでインストールした場合:

    . ~/intel/oneapi/setvars.sh

    上記のコマンドは、デフォルトのフォルダーにインストールされていることを前提としています。デフォルトのフォルダー以外にインストールした場合は、setvars.sh はその場所にあります。

    setvars.sh スクリプトは、設定ファイルを使用して管理することもできます。詳細は、「設定ファイルを使用した setvars.sh の管理」 (英語) を参照してください。

  3. 同じターミナルウィンドウで、アプリケーションを実行します (PATH になければなりません)

    oneapi-cli

    oneAPI CLI メニューが表示されます。

  4. 矢印キーを使用して [Create a project] を選択し、Enter キーを押します。
  5. 言語の選択肢が表示されます。インテル® oneAPI ベース・ツールキット以外からサンプルを実行する場合は、先に進む前にドメイン固有のツールキットをインストールします。

  6. サンプルの言語を選択します。最初のプロジェクトでは、[cpp] を選択して Enter キーを押します。ツールキットのサンプルリストが表示されます。
  7. [Vector Add] サンプルを選択します。Vector Add は、ツールが適切に設定され、システムの GPU にアクセスできることを確認する単純なテスト・アプリケーションです。

  8. サンプルを選択したら Enter キーを押します。

  9. プロジェクトを作成する絶対パスまたは相対パスを入力します。ディレクトリー名とプロジェクト名を指定します。プロジェクト名は、前のステップで選択したサンプル名です。
  10. Tab キーで [Create] を選択し、Enter キーを押します。

Make を使用した oneAPI サンプルベースのプロジェクトのビルドと実行

サンプルによっては、サンプルのビルドや実行に追加のステップや引数が必要です。サンプルのビルドと実行方法の具体的な内容は、サンプルの README.md ファイルを確認してください。
  1. コマンドプロンプトを開きます。
  2. プロジェクトの作成時 (ダウンロード時) に指定したディレクトリーに移動します。プロジェクトに makefile がない場合は、次のセクションで CMake* を使用してサンプルの実行に使用する makefile を備えたプロジェクトを作成する方法を参照してください。
  3. Make を使用してプログラムをビルドします。
    cd vector-add
    make all
  4. プログラムを実行します。
    make run
  5. プログラムをクリーンします。
    make clean

CMake* を使用した oneAPI サンプルベースのプロジェクトのビルドと実行

サンプルによっては、サンプルのビルドや実行に追加のステップや引数が必要です。サンプルのビルドと実行方法の具体的な内容は、サンプルの README.md ファイルを確認してください。

CMake* を使用して異なるサンプルを実行するには、次の操作を行います。ここで、<sample_name> は実行するサンプル名です。

  1. 必要に応じて、コマンドライン・ユーティリティーを再度実行して CMakeLists.txt ファイルを含む CMake* プロジェクトを選択します。
    cd <sample_name>
  2. ビルド・ディレクトリーに移動します。
    mkdir build
    cd build
  3. プログラムをビルドします。ビルド・ディレクトリーで CMake* を実行して makefile を作成します。作成された makefile を使用して実行ファイルをビルドします。
    cmake ../. 
    make VERBOSE=1
  4. プログラムを実行する。
    make run
  5. プログラムをクリーンします。
    make clean

詳細は、「サンプルを使用してデータ並列 C++ を理解する」を参照してください。

FPGA 用のサンプルのコンパイルと実行

次のモードで vector-add サンプル (または任意の FPGA データ並列 C++ (DPC++) コード) を実行できます。

oneAPI CLI サンプルブラウザーを使用して vector-add サンプルをダウンロードしたら、次の手順に従ってサンプルをコンパイルして実行します。

  1. 次のコマンドを使用して、vector-add サンプルがあるディレクトリーに変更します。
    cd <vector-add directory on the same system>
  2. コンパイルを開始する前に、次の make clean コマンドを実行します。
    make clean -f Makefile.fpga
  3. 次のいずれかのコマンドでサンプルをコンパイルします。
    • 次のコマンドはエミュレーション・モードでコンパイルします。

      make fpga_emu -f Makefile.fpga
    • 次のコマンドはレポートモードでコンパイルします。

      make report -f Makefile.fpga

      vector-add_report.prj/reports/report.html でレポートを確認できます。このモードでは、実行ファイルは生成されません。

    • 次のコマンドはハードウェア・モードでコンパイルします (コンパイルには時間がかかります)。

      make hw -f Makefile.fpga

    開発システムでハードウェア・モードでコンパイルした場合は、実行ファイル vector-add.fpga をランタイムシステムにコピーします。

  4. 次のいずれかのコマンドでサンプルを実行します。
    • 次のコマンドはエミュレーション用のサンプルを実行します。
      make run_emu -f Makefile.fpga

      開発システムが別の場合は、開発システムでこのステップを実行してください。

    • 次のコマンドは FPGA ハードウェアでサンプルを実行します。
      make run_hw -f Makefile.fpga

    makefile で使用されるコマンドを理解するには、「インテル® oneAPI プログラミング・ガイド」 (英語) を参照してください。

詳細は、「サンプルを使用してデータ並列 C++ を理解する」を参照してください。