XRT へのルート ファイルシステムの追加
Vitis アクセラレーション アプリケーションでは XRT を使用してハードウェアを制御します。XRT を使用すると、データセンターからエンベデッドまで、さまざまなユース ケースで同じプログラミング インターフェイスを使用できます。
rootfs および sysroot に XRT カーネル ドライバー (zocl) とユーザー空間ライブラリ (xrt-dev) を追加する必要があります。xrt-dev をパッケージすると、XRT API を使用する Vitis アプリケーションをコンパイルできるようになります。
zocl のためのデバイス ツリーのアップデート
zocl ドライバー インターフェイスには、割り込み接続を有効にするためにデバイス ツリー ノードが必要です。
次は、xocl デバイス ノードの例です。
&amba {
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
interrupt-parent = <&axi_intc_0>;
interrupts = <0 4>, <1 4>, <2 4>, <3 4>,
<4 4>, <5 4>, <6 4>, <7 4>,
<8 4>, <9 4>, <10 4>, <11 4>,
<12 4>, <13 4>, <14 4>, <15 4>,
<16 4>, <17 4>, <18 4>, <19 4>,
<20 4>, <21 4>, <22 4>, <23 4>,
<24 4>, <25 4>, <26 4>, <27 4>,
<28 4>, <29 4>, <30 4>, <31 4>;
};
};
詳細は、XRT の資料 (https://xilinx.github.io/XRT/master/html/yocto.html) を参照してください。
/etc/xocl.txt を使用したプラットフォーム宣言
プラットフォーム名をエンベデッド プラットフォームの rootfs の /etc/xocl.txt に記述しておくと、XRT でどのプラットフォームかが判別できるようになります。この情報は、カーネル コンフィギュレーションで xclbin ファイルを読み込む際の互換性チェックに使用されます。
XILINX_XRT 環境変数の設定
XRT では XILINX_XRT
環境変数を使用して XRT ライブラリを検出します。エンベデッド プラットフォームの場合は XILINX_XRT
が /usr を指定するようにする必要があります。
CMA サイズの調整
XRT ではバッファー オブジェクトの割り当てに CMA が使用されます。bootargs やデバイス ツリーで CMA 用に十分なメモリを確保して、アクセラレーション アプリケーション実行中にメモリ不足にならないようにしてください。