ZHCAFY6 November 2025 AM62A3 , AM62A7 , AM67A , TDA4VM
TI 模型编译工具提供了相应的接口,有助于快速进行 DDR 读取/写入分析。编译模型时,将在输出文件夹中生成 bufinfolog_0.csv 文件。确切地说,它将位于一个命名为 artifacts/tempDir/$SUBGRAPH_NAME_tidl_net 文件夹中,其中 SUBGRAPH_NAME 取决于模型。在不同的 SDK 版本中,文件夹结构的确切名称可能会略有变化。
需要注意的是,使用 RTOS(即 tidl_model_import.out)工具时,必须确保提供 perfSimConfig 并且该工具正常运行。在模型编译失败的任何情况下,必须在分析带宽消耗之前解决错误。编译过程中的任何错误日志都可能导致不准确的分析结果。
下表说明了 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-size 和 In-Write-size 的影响。值得注意的是,仅当前一层的输出部分或完全存储在 DDR 中时,In-Write-size 才会产生影响。
因此,减少 DDR 读取/写入带宽的关键在于优化模型,以尽可能减少权重导致的读取带宽以及大型特征映射产生的读取/写入带宽。