システムのビルド
システムのビルドには、システムのハードウェア (カーネル) およびソフトウェア (ホスト コード) の両方をビルドする必要があります。計算ユニットをホスト コードにインスタンシエートする際、ホストでは計算ユニットがターゲット デバイスのメモリおよびインフラストラクチャ エレメントにどのように接続されているかの情報が必要です。
次の図に示すエディター ビューには、ビルド コンフィギュレーションの最上位ビューが表示されます。アクティブ ビルド コンフィギュレーションについて、プロジェクト名、現在のプラットフォーム、選択されているシステム コンフィギュレーション (OS およびランタイム) などの一般情報が示されます。選択されているビルド ターゲット、ホストおよびカーネルのデバッグをイネーブルにするオプションなど、複数のビルド オプションも含まれています。ビルド ターゲットの詳細はビルド ターゲット、デバッグ オプションの詳細は アプリケーションおよびカーネルのデバッグを参照してください。
図: プロジェクトのエディター ビュー
エディター ビューの下部には、プロジェクトで使用されている現在のカーネルがリストされます。カーネルはバイナリ コンテナーの下にリストされます。上記の例では、カーネル krnl_vadd は binary_container_1 に追加されています。バイナリ コンテナーを追加するには、 をクリックします。バイナリ コンテナーの名前を変更するには、デフォルト名をクリックして新しい名前を入力します。
カーネルをバイナリ コンテナーを追加するには、 をクリックします。プロジェクトで定義されているカーネルのリストが表示されます。次の図に示すように、[Add Hardware Functions] ダイアログ ボックスでカーネルを選択します。
図: バイナリ コンテナーへのハードウェア関数の追加
--nk オプションを使用した複数のカーネルのインスタンシエートに説明されているように、カーネルの [Compute Units] 列にカーネルにインスタンシエートするインスタンスの数を入力します。
アクティブ ビルド コンフィギュレーションのさまざまなオプションを指定したら、[Build] コマンド () をクリックしてビルド プロセスを開始できます。
SDAccel ビルド プロセスでは、ホスト アプリケーションの実行ファイル (.exe) と FPGA バイナリ (.xclbin) が生成されます。SDAccel™ 環境では、2 つの個別のビルド フローが管理されます。
- ホスト コード (ソフトウェア) ビルド
- カーネル コード (ハードウェア) ビルド
SDAccel では、プロジェクトのソフトウェア要素とハードウェア要素の両方に標準のコンパイルおよびリンク プロセスが使用されます。次のセクションで、ホスト コードおよびカーネル コードをビルドして選択したビルド ターゲットを生成する手順を説明します。