ZHCAFY6 November   2025 AM62A3 , AM62A7 , AM67A , TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2C7xMMA 高速缓存结构
  6. 3为编译的 TIDL 模型进行 DDR 读取/写入分析建模
  7. 4模型优化
    1. 4.1 简单结构模型
    2. 4.2 复杂结构
      1. 4.2.1 残留结构
      2. 4.2.2 并行分支合并
  8. 5总结
  9. 6参考资料

为编译的 TIDL 模型进行 DDR 读取/写入分析建模

TI 模型编译工具提供了相应的接口,有助于快速进行 DDR 读取/写入分析。编译模型时,将在输出文件夹中生成 bufinfolog_0.csv 文件。确切地说,它将位于一个命名为 artifacts/tempDir/$SUBGRAPH_NAME_tidl_net 文件夹中,其中 SUBGRAPH_NAME 取决于模型。在不同的 SDK 版本中,文件夹结构的确切名称可能会略有变化。

需要注意的是,使用 RTOS(即 tidl_model_import.out)工具时,必须确保提供 perfSimConfig 并且该工具正常运行。在模型编译失败的任何情况下,必须在分析带宽消耗之前解决错误。编译过程中的任何错误日志都可能导致不准确的分析结果。

下表说明了 bufinfolog CSV 文件中的关键字段。

表 3-1 bufinfolog CSV 文件中的字段说明
字段说明
Ni输入特征映射通道尺寸。
No输出特征映射通道尺寸。
InW输入特征映射宽度尺寸。
InH输入特征映射高度尺寸。
OutW输出特征映射宽度尺寸。
OutH输出特征映射高度尺寸。
In-Write-size实际输入特征映射大小,以字节为单位计算。可能涉及少量用于填充操作或 DMA 总线大小调整的额外开销。

In-Write-memSpace

L2 或 DDR;除数据层(输入/输出层)外,所有层都使用 L2

Out-Read-memSpace

当前层的计算结果的临时存储位置。值通常为空、L2、MSMC 或 DDR。空表示计算出的结果直接存储到 Out-Write-memSpace 中。当存在某个值时,表示需要首先将当前层输出特征映射的一部分存储在 Out-Read-memSpace 中,然后从该空间读取并写入到 Out-Write-memSpace。

Out-Write-memSpace

当前层的特征映射的最终存储位置。值为 DDR 或 MSMC。DDR 表示当前层的输出特征映射无法完全放入 MSMC 中,因此部分或全部存储在 DDR 中。MSMC 表示输出完全存储在 MSMC 中,供后续层使用。

Out-Write-size

当前层存储在 Out-Write-memSpace 中的数据量。当 Out-Write-memSpace 为 DDR 时,该值表示当前层对 DDR 写入带宽消耗的影响。可能涉及少量用于填充操作或 DMA 总线大小调整的额外开销。

Wt-Write-memSpace

当前层的权重的加载位置。始终为 L2。权重值完全存储在 DDR 中,并在使用时加载到 L2 中。

Wt-Write-size

当前层的权重数据的大小。该值会影响 DDR 读取带宽的消耗。可能涉及用于填充操作或 DMA 总线大小调整的额外开销。

在上述字段中,DDR 写入带宽主要受 Out-Write-memSpace 值的影响。通过减小一层的输出特征映射大小,可以显著降低 DDR 写入带宽消耗。

DDR 读取带宽主要受 Wt-Write-sizeIn-Write-size 的影响。值得注意的是,仅当前一层的输出部分或完全存储在 DDR 中时,In-Write-size 才会产生影响。

因此,减少 DDR 读取/写入带宽的关键在于优化模型,以尽可能减少权重导致的读取带宽以及大型特征映射产生的读取/写入带宽。