2020.2 Vitis ™ - ランタイムおよびシステムの最適化 - ソフトウェアの例xilinx.com の Vitis ™開発環境を参照 |
提供されているデザイン ファイル¶
このチュートリアル シリーズのインストール パッケージには、design_source
ディレクトリがあります。
このディレクトリには、例をビルドして実行するために必要なすべてソース ファイルが含まれています。インストールが必要な Vitis、XRT などのビルド ツール、ターゲット開発プラットフォームは含まれていません。
design_source ディレクトリには、hw_src
および sw_src
の 2 つのディレクトリあります。 これらのディレクトリには、それぞれアプリケーションのハードウェア ソース ファイルおよびソフトウェア ソースファイルが含まれています。 ハードウェア ソースは、Vitis V++ コンパイラにより、FPGA 上で実行されるアルゴリズムに合成され、ソフトウェア ソースは標準 GCC を使用してコンパイルされ、ホスト プロセッサ上で実行されます。
このチュートリアルでは、ハードウェアよりもソフトウェアに焦点を置いているので、ファイルを管理しやすいようにソース ファイルを分けています。 実際のプロジェクトでは、ディレクトリ構造などはプロジェクトによって異なるので、チームまたは組織のベスト プラクティスに従ってディレクトリを管理してください。
一部の例は外部ライブラリを使用するので、環境設定を簡単にするため、ソフトウェア例に Cmake ビルド システムが使用されています。 ハードウェアでは標準の make が使用されています。これは、V++ に渡されるコマンド ライン引数を簡単に確認できるようにするためです。
ハードウェア デザインの設定¶
このセクションでは、Alveo カードをターゲットとするアクセラレーションの概念を説明します。 このリリースでは具体的には説明していませんが、概念、手法、および相対的なパフォーマンスは、エンベデッド プロセッサにも同様に適用されます。まずホスト コードを記述する作業から始め、FPGA をプログラムし、メモリを割り当てて移動させます。 最初の方の例では、非常に単純なアクセラレータを使用します。 実際、アクセラレーション ハードウェアが非常に単純なものなので、少なくともはじめのうちは、アルゴリズムは CPU 上での方が高速に実行されるはずです。
また、ハードウェア デザインのビルドにも時間がかかる可能性があります。ナノ秒未満のタイミングで何十億個もあるトランジスタにまたがるカスタム ロジックを合成し、配置配線するのは、機械コードにコンパイルするよりも複雑です。 それでも価値のある結果が得られます。 FPGA ハードウェアを不必要に再ビルドせずにすむようにするため、この資料では多数のカーネル インスタンスを含む 1 つの FPGA デザインを提供しており、サンプル デザインでの必要に応じてそれらのカーネルを組み合わせて使用します。 カーネル最適化にも少し触れますが、基本概念を説明する程度なので、それ以上の内容は、ザイリンクスのほかの資料を参照してください。
このオンボーディング サンプルには、Alveo U200 アクセラレータ カード (シェル バージョン 201830_2) をターゲットとするハードウェア イメージが含まれています。ハードウェア デザインを実行する前に、ビルドする必要があります。これには、次のディレクトリに移動します。
Hardware_Acceleration/Introduction/design_src/hw_src
ボードにインストールされているターゲット プラットフォームのバージョンが上記のものと異なる場合は、この手順をスキップできます。 Alveo U200 以外のプラットフォームをターゲットにしている場合は、makefile を開き、1 行目を変更してご使用のプラットフォームの .xpfm ファイルを指定します。
注記: 次の例で、解像度によって改行が追加されていることがあるかもしれませんが、 makefile のパスには改行を追加しないでください。
PLATFORM := /opt/xilinx/platforms/xilinx_u200_gen3x16_xdma_1_202110_1/xilinx_u200_gen3x16_xdma_1_202110_1.xpfm
makefile を変更したら、Vitis および XRT の環境が正しく設定されていることを確認します。 まだ実行していない場合は、次のコマンドを実行します。
source /opt/Xilinx/Vitis/2021.2/settings.sh
source /opt/xilinx/xrt/setup.sh
XRT または Vitis のインストール パスがデフォルトとは異なる場合は、コマンドラインをそれに合わせて変更します。その後、次のコマンドを実行します。
make
このビルド プロセスには時間がかかりますが、最終的には、alveo_examples.xclbin というディレクトリにファイルが生成されます。 このファイルには、演習に使用するカーネルすべてが含まれます。 使用するボードとシェルの組み合わせでこのファイルをコンパイルしたら、次のセクションに進みます。
Copyright© 2019-2021 Xilinx