将内核分配给 SLR - 2023.2 简体中文

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

设计中的每个内核均可使用 connectivity.slr 选项分配给任一 SLR 区域,该选项可在为 v++ --config 命令行选项指定的配置文件中找到。如需了解更多信息,请参阅 在 Alveo 加速器卡上将计算单元分配给 SLR

执行内核布局时,AMD 建议使用 connectivity.sp 配置选项来分配内核将连接到的特定 DDR 存储体,如 将内核端口映射到存储器 中所述。

例如,下图显示了包含 4 个 SLR 的现有目标平台和包含 3 个 SLR 的新目标平台。这两个平台之间的静态区域构造方式也不同。在此移植示例中:

  • Kernel_A 映射到 SLR0。
  • Kernel_B 不再适合置于 SLR1 内,它被重新映射到具有可用资源的 SLR0。
  • Kernel_C 映射到 SLR2。
  • Kernel_D 被重新映射到具有可用资源 SLR2。

内核映射如下图所示。

图 1. 跨 SLR 的内核映射

指定内核布局

对于以上示例,用于分配内核的配置文件如下所示:

[connectivity]
nk=kernel:4:kernel_A.lernel_B.kernel_C.kernel_D

slr=kernel_A:SLR0
slr=kernel_B:SLR0
slr=kernel_C:SLR2
slr=kernel_D:SLR2

用于对上图所示每个内核进行布局的 v++ 命令行如下:

v++ -l --config config.cfg ...

指定内核 DDR 接口

在指定内核布局时,还应指定内核 DDR 存储器接口。指定 DDR 接口可确保对内核到其他 SLR 中的 DDR 接口间的连接进行自动流水打拍。这确保了时序不会降级,时序降级会降低最大时钟频率。

在此示例中,使用上图中的内核布局:

  • Kernel_A 连接到存储体 0。
  • Kernel_B 连接到存储体 1。
  • Kernel_C 连接到存储体 2。
  • Kernel_D 连接到存储体 1。

用于执行这些连接的配置文件如下所示,且该配置文件通过 v++ --config 命令来传递:

[connectivity]
nk=kernel:4:kernel_A.lernel_B.kernel_C.kernel_D

slr=kernel_A:SLR0
slr=kernel_B:SLR0
slr=kernel_C:SLR2
slr=kernel_D:SLR2

sp=kernel_A.arg1:DDR[0]
sp=kernel_B.arg1:DDR[1]
sp=kernel_C.arg1:DDR[2]
sp=kernel_D.arg1:DDR[1]
重要: 使用 connectivity.sp 选项将内核端口分配给存储体时,必须映射内核的所有接口/端口。如需了解更多信息,请参阅 将内核端口映射到存储器