Xilinx の XRT とかざっくり調べた
Xilinx の最近の環境を調べたよ。U50 とか KV260 とかね。
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