数据中心应用加速开发流程 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

下图描述了构建和运行应用以供在 Alveo 数据中心加速器卡上使用所需的步骤。这些步骤总结如下,在这整篇文档中均可找到有关每个步骤的详细信息。

图 1. 适用于数据中心加速器卡的应用开发流程
x86 应用编译
编译主机应用以供在 x86 处理器上运行,该处理器使用 G++ 编译器来创建主机可执行文件。该主机程序可与 PL 区域中的内核进行交互。如需了解有关写入主机应用的更多信息,请参阅 开发应用。如需了解有关编译主机应用的更多信息,请参阅 构建主机程序
PL 内核编译和链接
PL 内核经编译后即可在目标平台的 PL 区域内实现。PL 内核可编译到赛灵思对象格式 (XO) 文件中,编译可使用 Vitis 编译器 (v++)、Vitis HLS(适用于 C/C++ 内核)或 package_xo 命令(适用于 RTL 内核)来执行。如需了解有关内核编码的信息,请参阅 C/C++ 内核RTL 内核

Vitis 编译器还会将内核 XO 文件与硬件平台相链接,从而为应用创建器件可执行文件 (.xclbin)。如需了解更多信息,请参阅 构建器件二进制文件

赛灵思对象 (XO) 文件通过 v++ --link 命令与目标硬件平台相链接,以创建器件二进制文件 (.xclbin),此文件将被加载到目标平台上的赛灵思器件中。

运行应用
对于 Alveo 数据中心加速器卡,.xclbin 文件是运行系统所必需的构建对象。运行应用时,可以运行软件仿真、硬件仿真或者在实际物理加速器平台上运行。如需了解更多信息,请参阅 运行应用硬件构建
  • 当构建目标为软件或硬件仿真时,emconfigutil 命令可构建目标平台的仿真模型。Vitis 编译器会在器件二进制文件中生成内核的仿真 (simulation) 模型,运行此应用则会运行系统的此模型。如 构建目标 中所述,仿真 (emulation) 目标允许您在相对较快的周期内对设计进行构建、运行和迭代,并进行应用调试和性能评估。
  • 当构建目标为硬件系统时,目标平台是物理器件。Vitis 编译器会使用 Vivado Design Suite 生成 .xclbin 来运行综合与实现,并解决时序。运行应用会在硬件上运行系统。构建进程将自动执行以生成高质量的结果。但熟悉硬件的开发者可以在其设计进程中充分利用 Vivado 工具。
使用系统编译模式
Vitis System Compilation(系统编译)模式可对源自 C++ 的主机与内核提供统一的系统组合,它不仅可多方位提升设计效率(例如,使用 C 语言线程来编写主机代码和简化软硬件交互),而且可以提供经最优化的数据传输流水线且开箱即用。此模式仍使用现有 Vitis 工具来构建系统,但由于采用统一方法来进行系统组合与配置,因此所使用的开发流程有所变化。如需了解更多信息,请参阅 使用 Vitis 系统编译模式