Vitis™ ハードウェア アクセラレーションの入門チュートリアルxilinx.com の Vitis ™開発環境を参照 |
Vitis ハードウェア アクセラレーションの入門¶
バージョン: Vitis 2021.2
ザイリンクス FPGA および Versal ACAP デバイスは、高パフォーマンスでワークロードの大きいアルゴリズムのレイテンシの短いアクセラレーションに適しています。ムーアの法則の限界が指摘されるなか、機能性、消費電力、レイテンシ、柔軟性の最適なバランスを求める開発者は、デザイン特化アーキテクチャ (DSA) をツールとして選択するようになってきています。それでも、ソフトウェアのバックグラウンドしかない開発者にとっては、FPGA および ACAP の開発は非常に困難であるように思われるかもしれません。
この資料およびチュートリアルでは、ザイリンクス テクノロジを使用したアプリケーションのアクセラレーション方法をわかりやすく紹介します。まず、アクセラレーションの基礎から開始し、基本的なアーキテクチャ上の手法、アクセラレーションに適したコードの特定、メモリの管理およびターゲット デバイスとの通信を最適に実行するためのソフトウェア API の使用について説明します。
この資料はソフトウェア開発者を対象としており、ハードウェア開発者向けガイドではありません。RTL コード記述、下位 FPGA アーキテクチャ、高位合成最適化などのトピックは、ザイリンクスから提供されているほかの資料を参照してください。この資料の目的は、ユーザーが Vitis の使用方法を短期間で習得し、アクセラレーションの目標を達成できるよう、ザイリンクス デバイスに関する知識を深め、使いこなせるようになってもらうことです。
提供されているデザイン ファイル¶
このディレクトリ ツリーには、2 つの資料コレクションと design_source
というディレクトリがあります。
design_source
ディレクトリには、このチュートリアルで使用するすべてのデザイン ファイル (ハードウェアおよびソフトウェア) が含まれています。アプリケーション例は、このガイドの特定のセクションに対応しています。
コード例は、できる限り簡潔に、ポイントをつかみやすいものにしています。
目次¶
このチュートリアルは、複数のサンプル デザインに分かれています。各デザインはその前のものに基づいているので、初めての場合は、チュートリアルを最初から順に進めることをお勧めします。
アクセラレーションの基礎 (~ 10 分):
アクセラレーション システム、Alveo、XRT の概要
Vitis により多くの処理が自動的に実行されるので、ユーザーはアプリケーション コードに集中できることを示します。
ランタイム ソフトウェア デザイン (~ 10 分):
メモリ割り当ての概要、および XRT とアプリケーションとのやり取りについて説明します。
-
次の例の初期設定を示します。
-
XRT を使用して FPGA または ACAP イメージをデバイス (この場合は Alveo カード) にプログラムする方法を説明します。
-
よく考慮しない場合にどうなるかを示します。
-
ページ アライメントされたメモリの割り当てと標準 を使用した場合の効果を比較します。
malloc()
-
XRT で割り当てられたメモリの使用と標準 C++ アロケーターの使用を比較します
-
同じホスト ソフトウェアを使用したまま、より優れたハードウェアに切り替えた場合の効果を示します。
-
この例では、CPU よりも良い結果が得られます。
-
前の例で良い結果が得られましたが、さらに考慮すべき事項を示します。
例 7: Vitis ビジョンを使用したイメージ サイズの変更
より複雑なアプリケーションを使用した例を示します。
例 8: Vitis ビジョンを使用した処理パイプラインの構築
Vitis の強力な機能であるパイプライン処理および
FPGA の利点について説明します。
Copyright© 2020 Xilinx