Linux* 上での Visual Studio* Code のサンプルブラウザー拡張機能を使用したインテル oneAPI DPC++ FPGA 開発

Linux* 上でインテル® oneAPI ベース・ツールキットと Visual Studio* (VS) Code を統合して、シームレスなソフトウェア開発環境を実現することができます。CPU や GPU と同じように、VS Code を使用した FPGA 開発が可能です。インテル® oneAPI 環境変数の設定、VS Code の起動、サンプルからのプロジェクト作成、コード編集の流れは同じです。

FPGA の開発フローは、以下のような手順で行われます。

  1. 環境変数を設定する
  2. 高速コンパイル方式でエミュレーション・イメージを構築し、実行する
  3. 静的な HTML 最適化レポートを生成し、表示する
  4. 実際の FPGA ハードウェア・イメージを構築し、実行する

このワークフローの詳細については、『インテル® oneAPI プログラミング・ガイド』の「FPGA フロー」 (英語) セクションを参照してください。

前提条件:

以下のソフトウェアをダウンロードし、インストールしてください。

環境変数の設定と Visual Studio* Code の起動

以下の手順で、環境変数を設定します。

  1. ターミナルセッションを開きます。
  2. sh スクリプトの場所を確認します。場所はインテル® oneAPI のインストールによって異なり、以下のいずれかになります。
    • root または sudo でインストールした場合は、インテル® oneAPI インストールのルート・ディレクトリー (通常は /opt/intel/inteloneapi/) にあるスクリプトを探します。
    • sudo または root でインストールしなかった場合は、~/intel/inteloneapi/ ディレクトリーにあるスクリプトを探します。
    • インストール・フォルダーをカスタマイズした場合は、カスタム・インストール・フォルダーにあるスクリプトを探します。
  3. コマンドラインから source コマンドを使用して setvars.sh スクリプトを実行します。
    source <oneapi_install_path>/setvars.sh

    詳しくは、「CLI 開発のための環境変数の設定」 (英語) を参照してください。

  4. 同じターミナルセッションで、以下のコマンドを実行して、VS Code を起動します。
    code

oneAPI サンプルブラウザー拡張機能のインストール

サンプルブラウザー拡張機能を使用すると、Visual Studio* Code でサンプルを参照したり、ダウンロードしたりすることができます。拡張機能をインストールするには、次の手順を実行します。

  1. VS Code で、左のナビゲーションにある拡張機能のロゴをクリックします。
  2. Sample Browser for Intel oneAPI Toolkits というタイトルの拡張機能を探すか、こちら (英語) にアクセスして利用可能な拡張機能を探します。
  3. [Install] をクリックします。
  4. 拡張機能のインストール後、[oneAPI] アイコンをクリックすると、左側のナビゲーション・ペインに利用可能なサンプルのリストが表示されます。簡単なデモは、「Visual Studio* Code のサンプルブラウザーを使ったインテル® oneAPI サンプルの探索」 (英語) を参照してください。

高速コンパイルのための FPGA エミュレーション・イメージのビルドと実行

FPGA エミュレーション・イメージは、高速にコンパイルできるため、機能的に正しいコードを実現するのに役立ちます。詳細については、『インテル® oneAPI プログラミング・ガイド』の「DPC++ FPGA コンパイルの種類」 (英語) を参照してください。基本的な FPGA サンプルを FPGA エミュレーター・ターゲットにコンパイルするには、次のように実行します。

すべてのインテル® oneAPI サンプル・プロジェクトが CMake* を使用しているわけではありません。各サンプルの README.md ファイルには、そのサンプルのビルド方法が明記されています。CMake* を使用するサンプルについては、Microsoft* が保守している「Visual Studio* Code 向け CMake* ツール拡張機能」 (英語) の記事を参照することをお勧めします。

  1. FPGA > Tutorials セクションで、コンパイル・フロー・サンプルにカーソルを合わせ、+ をクリックしてプロジェクトを作成します。
  2. プロジェクトを保存するフォルダーを選択します。
  3. VS Code でターミナルを開きます。
  4. cd コマンドを実行して、新しく作成したプロジェクトのトップレベル・ディレクトリーに移動します。
  5. 以下のコマンドを実行して、build というディレクトリーを作成します。
    mkdir build
  6. cd コマンドを実行して、新しく作成した build ディレクトリーに移動します。
  7. 以下のコマンドを実行して、サンプルをビルドします。プロジェクトのビルドファイルは、build ディレクトリーに書き込まれます。
    cmake ..
  8. 以下のコマンドを実行して、エミュレーションのビルドターゲットを選択します。
    make fpga_emu

    FPGA コードサンプルの README ファイルを参照して、正しい make ターゲットを見つけてください。

    これで、ディレクトリー内に compile_flow.fpga_emu という名前の実行ファイルが作成されたはずです。このファイルをデザインのエミュレーター実行ファイルとして使用します。

  9. 以下のコマンドを実行して、エミュレーター実行ファイルを実行します。
    ./compile_flow.fpga_emu

FPGA 最適化レポートの生成と表示

FPGA 最適化レポートは、実際の FPGA ハードウェア・イメージを実行する前でも、アプリケーション・パフォーマンスに関するハイレベルな詳細を提供することができます。

このレポートは、インテル® oneAPI DPC++/C++ コンパイラーにより HTML 形式で生成され、Web ブラウザーで表示することができます。最高のパフォーマンスを得るための FPGA 最適化レポートの使用方法の詳細は、『インテル® oneAPI DPC++ FPGA 最適化ガイド』の「report.html の確認」 (英語) セクションを参照してください。

  1. VS Code のターミナルセッションで、build ディレクトリーにいることを確認します。
  2. 以下のコマンドを実行して、レポートを作成します。
    make report
  3. prj/reports ディレクトリーに移動し、生成した最適化レポートの場所を確認します。
    cd compile_flow_report.prj/reports
  4. Mozilla* Firefox* ブラウザーでレポートを起動するには、次のコマンドを使用します。
    firefox report.html

FPGA ハードウェア・イメージの構築と実行

このステップでは、実際の FPGA ハードウェア上で動作することを想定した実行ファイルを作成します。完了までに数時間かかる場合があります。推奨されるビルドシステム構成については、「インテル® oneAPI DPC++/C++ コンパイラーの動作環境」 (英語) を参照してください。その他の注意事項は以下となります。

oneAPI ベース・ツールキット用インテル® FPGA アドオンに関しては以下のボタンからご確認いただけます。


参照記事:

Intel® oneAPI DPC++ FPGA Development with Sample Browser Extension for Visual Studio Code on Linux