概要
xrt-diagram-1

ホスト

(x86、Power PC、ARM CPU)

アクセラレータ

(FPGA、AI エンジン)

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

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

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

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


主な利点

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

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

  

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

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


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

メモリ管理

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


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

ボード管理

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


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

実行管理

execution-management


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

設計開始

ダウンロード

注記: XRT インストーラーをダウンロードする際には、使用されるプラットフォームと同じバージョンの XRT を選択してください。