将缓冲器从 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 缓冲器的寿命从 send_while 循环边迭代中使用 vpp_acc::alloc_buf 分配该缓冲器开始截至对应的 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();
    ...