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

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

3.7. OpenCLカーネルのFPGAハードウェア・コンフィグレーション・ファイルの作成

Linuxバージョンのhello_world OpenCL™デザイン例を、OpenCL Design Examplesページからダウンロードします。 hello_world.aocx AOC実行可能ファイルを作成するために、 インテル® FPGA SDK for OpenCL™ のOffline Compilerを使用してhello_worldカーネル・プログラムをコンパイルします。 .aocxファイルは、FPGAハードウェア・コンフィグレーション・ファイルです。
FPGAボードの正常なインストール、およびカーネルのエミュレート後に、デバイスで動作させる.aocxを作成します。以下に、hello_worldデザイン例から.aocxファイルを作成する手順を示します。OpenCLデザイン例について、詳しくはOpenCL Design Examplesページを参照してください。
注: インテル® FPGA SDK for OpenCL™ のOffline Compilerは使用するFPGAボード向けにOpenCLカーネルをコンパイルします。ハードウェア・コンフィギュレーション・ファイルを作成する前に、FPGAボードをインストールしておく必要があります。まだFPGAボードをインストールしていない場合には、FPGAボードのインストールで手順を確認してください。
  1. QUARTUS_ROOTDIR_OVERRIDE環境変数が正しいエディションの インテル® Quartus® Primeソフトウェアを指定していることを確認します。シェルを開き、コマンド・プロンプトにecho $QUARTUS_ROOTDIR_OVERRIDEと入力します

    インテル® Quartus® Primeソフトウェアのインストレーション・ディレクトリへのパスが返されない場合には、QUARTUS_ROOTDIR_OVERRIDE設定にこれを加えます。

    • インテル® Arria® 10以外や インテル® Stratix® 10以外のデバイス向けには、QUARTUS_ROOTDIR_OVERRIDE インテル® Quartus® Prime スタンダード・エディションソフトウェアのインストレーション・フォルダーを指定します。
    • インテル® Arria® 10および インテル® Stratix® 10デバイス向けには、QUARTUS_ROOTDIR_OVERRIDE インテル® Quartus® Prime プロ・プロ・エディションソフトウェアのインストレーション・フォルダーを指定します。
  2. 使用するFPGAボードを選択します。カスタム・プラットフォームで使用可能なFPGAボードのリストを表示するには、コマンド・プロンプトで aoc --list-boards コマンドを呼び出します。

    aocコマンドの-list-boardsオプションについて、詳しくは インテル® FPGA SDK for OpenCL™ のプログラミング・ガイド使用可能なFPGAボード(--list-boards)をカスタム・プラットフォームで表示の項を参照してください。

  3. コマンド・プロンプトで、エミュレーションに使用したhello_world.clファイルを含むhello_worldデザイン・ディレクトリに移動します。
  4. 使用するFPGAボード向けカーネルをコンパイルするために、以下のコマンドを呼び出します。
    aoc -v --board <board_name> device/hello_world.cl -o bin/hello_world.aocx

    このコマンドは、以下のタスクを実行します。

    • OpenCLソース・コードから インテル® Quartus® Primeデザイン・プロジェクト・ファイルの生成
    • 初期シンタックス・エラーのチェック
    • 基本的な最適化の実行
    • 必要な中間ファイルを含むhello_worldディレクトリの作成
    • インテル® FPGA SDK for OpenCL™ Offline Compiler Object File (.aoco)の作成
    • .aocxファイルの作成
    重要:

    カーネルの複雑さによっては.aocxファイルのビルドに数時間かかる場合があります。コンパイルの進行状況を画面上に表示するには、aocコマンドに-vフラグを含めます。以下に出力の一例を示します。

    aoc: Environment checks are completed successfully.
    You are now compiling the full flow!!
    aoc: Selected target board <board_name>
    aoc: Running OpenCL parser....
    aoc: OpenCL parser completed successfully.
    aoc: Compiling....
    aoc: Linking with IP library ...
    aoc: First stage compilation completed successfully.
    aoc: Setting up project for CvP revision flow....
    aoc: Hardware generation completed successfully.

    コンパイル・プロセスが完了すると、AOCがライン aoc: Hardware generation completed successfully. を表示します。

aocコマンドの -board=<board_name> オプションについて、詳しくは インテル® FPGA SDK for OpenCL™ のプログラミング・ガイド特定のFPGAボード(--board <board_name>)用のカーネルのコンパイルの項を参照してください。

aocコマンドの-vオプションについて、詳しくは インテル® FPGA SDK for OpenCL™ のプログラミング・ガイドコンパイル進捗レポート(-v)の生成の項を参照してください。

aocコマンドの -o=<filename> オプションについて、詳しくは インテル® FPGA SDK for OpenCL™ のプログラミング・ガイド インテル® FPGA SDK for OpenCL™ オフライン・コンパイラ出力ファイル(-o=<filename>)の名前の指定の項を参照してください。