新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

Xilinx の XRT とかざっくり調べた

Xilinx の最近の環境を調べたよ。U50 とか KV260 とかね。

U50 つかってみる |

Vitis AI とかなんかコンパイラ持っているみたいね。(これは調べていない)

VVAS (Vitis™ Video Analytics SDK)

GitHub - Xilinx/VVAS このアクセラレータ+ gstreamer で ROI の切り出しとかやるみたい。ZCU104 の platform があるけど、おそらく、KV260 でも使える。というかKV260 の smartcamera の中心ライブラリ、というよりgstreamer のプラグインか。

video-sdk

https://xilinx.github.io/video-sdk/v1.0/index.html U30 ようになっているけど、これが今後中心になるのか?

VCU

H.264/H.265 Video Codec Unit kv260 で VCU つかえる。つまり H.264 と H.265 が使えるみたい。IP として Vivado に張り付けられる。が、これって普通に SoC についているものだよね。内部がわかって面白いけど。ライブラリとして使うなら別に IP になってなくてもいい気がするぞ。で結局最後は OpenMAX 使うみたいだし。

gstreamer

GitHub - Xilinx/gstreamer わざわざ fork しているが、ここにはアクセラレータはない。なんかパッチ当たっているんだろうね。gst-omx とか gst-plugin-base とか gst-plugin-good あるいは bad とかあるけど全部アクセラレータは入っていない。ただの gstreamer (+ パッチでしょう)。Xilinx 的なプラグインは上の VVAS です。

QDMA と Open NIC Driver

GitHub - Xilinx/dma_ip_drivers: Xilinx QDMA IP Drivers GitHub - Xilinx/open-nic-driver https://github.com/Xilinx/open-nic-shell QDMA は仮想化に対応した DMA みたい。U50 で提供されているのは XDMA なのでこの辺は使えないなぁ。shell =プラットフォーム。やっぱり u200 とか u250 とかだね。shell に QDMA があるみたい。

PCIe debug?

なんじゃこりゃ https://xilinx.github.io/pcie-debug-kmap/

XilinxVirtualCable

GitHub - Xilinx/XilinxVirtualCable バーチャルケーブルのソース公開されてるんだっけ。そういえば。

OpenAMP と triSYCL

まぁ Intel も oneAPI だしていることだし。この辺はカバーするんでしょう。 https://github.com/Xilinx/open-amp https://github.com/Xilinx/triSYCL

XRT の次のバージョン?

GitHub - Xilinx/xoclv2: XRT Second Generation Linux Kernel Driver (XRTV2) そういえば Linux は5.11 から変わったので今の XRT は使えないのよ。5.10 までは凍結して、次のバージョンを作っているのかな?

ROAST?

なんだろう。Python で構築したML に関するテスト環境? https://xilinx.github.io/roast/

XMA (Xilinx Media Accelerator)

ドキュメントを読む限りではなかなかよさそうな気もするけど、2021.1 + U50 では使えないよ。最新の XRT に XMA が追いついていないみたい。XRT もバージョンアップされるみたいだからそれと一緒にアップデートさえれるのか?それともなくなる?(XMA ベースのは結構あるけど) GitHub - Xilinx/xma-samples https://xilinx.github.io/XRT/2021.1/html/xma_user_guide.html

DPU(Deep Learning Processor Unit)

KV260 の overlay(といいつつ一つのbitstream になるけど) の smartcamera とかに使われているエンジン。どうやら 以前 PE とかいってたものがまとまって DPU になったぽい。PE が順番に処理していくんだよね。GPU 的な感じ?今後はそういう路線みたいね。 DPU for Convolutional Neural Network GitHub - Xilinx/smartcam