インテル® FPGA SDK for OpenCL™: スタート・ガイド

ID 683188
日付 12/08/2017
Public
ドキュメント目次

2.6.4. OpenCLカーネルエミュレート

OpenCL™カーネルをエミュレーションするには、使用するカーネルにビルドしたプラットフォーム上で.aocxエミュレーション・ファイルを実行します。

カーネルをエミュレーションするには、以下のステップを行います。

  1. ユーティリティ・コマンド aocl linkflags を実行し、ホスト・アプリケーションをビルドするためにどのライブラリが必要かを調べます。ソフトウェアが、エミュレーションおよび通常のカーネル・コンパイル・フロー両方のライブラリをリストします。
  2. ホスト・アプリケーションを、 aocl linkflags ユーティリティ・コマンドにより返されたライブラリにリンクします。
  3. hello_world_emulation.aocxファイルを現在使用している作業ディレクトリーに移し、ホストがこれを容易に見つけることができるようにします。
  4. Windowsの場合、最初に set CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA=<number_of_devices> コマンドを呼び出してエミュレートされたデバイスの数を定義し、ホスト・アプリケーションを実行します。
    このコマンドは、エミュレータが提供する必要がある同一のエミュレーション・デバイスの数を特定します。
    要確認: 環境変数のCL_CONTEXT_EMULATOR_DEVICE_INTELFPGAが設定されていると、エミュレートされたデバイスのみが使用可能になります。つまり、すべての物理ボードへのアクセスが無効になります。
  5. ホスト・アプリケーションを実行した後、 set CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA= コマンドを呼び出してCL_CONTEXT_EMULATOR_DEVICE_INTELFPGA変数の設定を解除します。
エミュレートされたカーネルを呼び出す度に、共有ライブラリのコピーである <process_ID>-libkernel.soがデフォルトの一時的ディレクトリに作成されます。この<process_ID>は、各エミュレーションの実行に対して割り当てられた固有の数値です。デフォルトのディレクトリは、WindowsではTMPまたはTEMP環境変数の設定により、LinuxではTMPDIRの設定により変更することができます。