VPP_ACC から XOカーネルへのバッファー渡し - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語

VSC アクセラレータ バッファーから xrt:bo に移動するには、次のコードを使用します。

xrt::bo vpp::sc::get_xrt_bo(void* buf);
ヒント: このようなバッファーのライフタイムは、VSC ランタイム層によって完全に制御されることに注意してください。VSC バッファーのライフタイムは、vpp_acc::alloc_buf を使用して、send_while ループの反復で割り当てられた時間から、対応する receive_all 反復の終了までの時間です。

次に例を示します。

Acc::send_while([=]()->bool {
    auto* Abuf = Acc::alloc_buf(Abp, size);
    xrt::bo Abo = vpp::sc::get_xrt_bo(Abuf);
    auto run = xo_kernel(Abo, ...);
    run.wait();
    ...