#include <iostream>
#include <cstring>
// XRT includes
#include "xrt/xrt_bo.h"
#include "xrt/xrt_device.h"
#include <experimental/xrt_xclbin.h>
#include <experimental/xrt_ip.h>
XRT ネイティブ API は、システムの異なる要素のさまざまなクラス オブジェクトと関数をサポートするために、いくつかの #include
文を必要とします。上のコード サンプルを見ると、ザイリンクス デバイス、デバイス バイナリ (.xclbin
)、バッファー オブジェクト (xrt_bo
)、およびユーザー管理カーネル (xrt_ip
) に対するヘッダー ファイルのインクルードがあるのがわかります。この最後の部分が、XRT 管理カーネルの場合とユーザー管理カーネルの場合における XRT ネイティブ API での重要な違いです。
XRT 管理カーネル (xrt::kernel
) は、RTL カーネルの要件に説明されているように、制御プロトコルおよびインターフェイスの特定の要件を満たすため、XRT API の機能セットがより豊富です。ユーザー管理カーネルは、少し非構造化されているため、機能が制限された IP クラスで記述されます。