概要
xrt-diagram-1

ホスト

(x86、Power PC、ARM CPU)

アクセラレータ

(FPGA、AI エンジン)

ザイリンクス ラインタイム ライブラリ (XRT)

ザイリンクス ラインタイム ライブラリ (XRT) は、Vitis 統合プラットフォームおよび Vitis AI 開発環境の主要コンポーネントであり、開発者は C/C++ および Python などの使い慣れたプログラミング言語や TensorFlow および Caffe などの特定分野向けの高レベル フレームワークをそのまま使いながら、ザイリンクスの適応性に優れたプラットフォーム上で運用できます。

XRT は、標準化されたオープンソースのソフトウェア インターフェイスであり、アプリケーション コードと、PCIe ベースの Alveo アクセラレータ カードや Zynq-7000/Zynq UltraScale+ MPSoC ベースのエンベデッドプラットフォームまたは Versal ACAP の再構成可能な部分に含まれたアクセラレーション カーネルとの通信を容易にします。

XRT は、ホスト CPU で駆動されます。ホストとは、エンベデッド プラットフォームの場合にはザイリンクス プラットフォームの ARM プロセッサとなり、Alveo アクセラレータ カードの場合にはサーバー上の x86 ベース CPU または Power PC CPU となります。


主な利点

  • ハードウェアの専門知識が不要、アプリケーション開発に集中できる: XRT は、ザイリンクス プラットフォーム用のハードウェア通信レイヤーをゼロから構築する必要がなく、標準のソフトウェア アプリケーションに統合できるため、ハードウェアの専門知識がない開発者でも簡単に FPGA を活用できます。
  • オープンソースで柔軟性が高い: XRT は、GitHub で公開されており、Apache-2 ライセンスの下で配布されています。開発者は、これらの XRT ライブラリやドライバーをそのまま使用したり、カスタム アプリケーションやプラットフォームのニーズに合わせて自在に変更することが可能です。
  • プラットフォーム間での共通 API: XRT は、開発者がエッジ、オンプレミス、およびクラウドで運用するためのアクセラレーション アプリケーションを設計する際に役立つ共通 API を提供します。これにより、演算や配置の要件が変更された場合、異なるザイリンクス プラットフォーム間でアプリケーションをシームレスに移植できます。
  • さまざまな抽象化レベル: Vitis AI で活用するドメイン固有の API から、高レベルの Python バインディング、さらに細かい制御を提供する低レベルの C++ API まで、アプリケーション内で XRT との相互作用に必要な抽象化レベルを選択できます。
  • Dynamic Function Exchange の使用: XRT では、Dynamic Function eXchange (DFX) を利用して、下位レベルの詳細を気にすることなくザイリンクスのプラットフォーム (主に Alveo アクセラレータ カード) 上でアクセラレータ バイナリを簡単に切り替えることができます。
  • リソース スケーリング: ザイリンクス FPGA リソース マネージャー (XRM) は、XRT API に基づくサーバーベースのオーケストレーション機能を提供します。これによって、サーバーに接続された複数の Alveo アクセラレータ カード上で複数のアプリケーションを実行できます。

ザイリンクス ラインタイム ライブラリ (XRT) の主な機能

 

FPGA イメージのダウンロード

アクセラレータ バイナリをプラットフォームにダウンロード


アクセラレータ バイナリの
プラットフォームへのダウンロード

メモリ管理

ホストとアクセラレータ間のデータ移動


ホストとアクセラレータ間の
データ移動

ボード管理

ボード リカバリ、デバッグ、電源管理


ボード リカバリ、デバッグ、
電源管理

実行管理

execution-management


トリガー、演算の順序付け
および同期

設計開始