インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

8.4. OpenCLカーネルのエミュレーション

OpenCL™カーネルをエミュレーションするには、カーネルを構築したプラットフォームで.aocxエミュレーション・ファイルを実行します。OpenCL高速エミュレーターは、FPGAハードウェアをターゲットとする際とは異なるOpenCLプラットフォームを使用します。

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

  1. ホストプログラムを変更し、エミュレーターのOpenCLプラットフォームを選択します。
    次のプラットフォーム名を選択し、ホストプログラムのエミュレーション用OpenCLプラットフォームを選択します。
    Intel(R) FPGA Emulation Platform for OpenCL(TM)
  2. ホスト・アプリケーションを構築し、ホスト・アプリケーションをKhronos ICD Loader Libraryにリンクします。詳細については、ホスト・アプリケーションとKhronos ICD Loader Libraryのリンクを確認ください。
  3. 必要な場合は、 <your_kernel_filename>.aocxファイルを、ホストが容易に検索できる位置へ動かします。現在の作業ディレクトリーが推奨されます。
  4. エミュレーションに向けてホスト・アプリケーションを次のように実行します。
    • Windowsの場合
      1. set CL_CONFIG_CPU_EMULATE_DEVICES=<number_of_devices> コマンドを呼び出し、エミュレーションされたデバイス数を定義します。
      2. ホスト・アプリケーションを実行します。
      3. set CL_CONFIG_CPU_EMULATE_DEVICES=を呼び出し、変数の設定を解除します。
    • Linuxの場合は、 env CL_CONFIG_CPU_EMULATE_DEVICES=<number_of_devices> <host_application_filename> コマンドを呼び出します。
    このコマンドは、エミュレーターが提供する必要のある同一のエミュレーション・デバイス数を指定します。
    要確認: エミュレーション用OpenCLプラットフォーム (Intel(R) FPGA Emulation Platform for OpenCL(TM)) は、物理的なボードへのアクセスを提供しません。エミュレーションされたデバイスのみ利用可能です。
    ヒント: エミュレーター・デバイスを1つだけ使用する場合は、CL_CONFIG_CPU_EMULATE_DEVICES環境変数を設定する必要はありません。
  5. ホストまたはカーネルプログラムの変更後にテストを行う場合、変更したホストまたはカーネルプログラムのみを再コンパイルし、エミュレーションを再度実行します。