SDAA175 November   2025 AM62A3 , AM62A7 , AM67A , TDA4VM

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2C7xMMA Cache Structure
  6. 3Model DDR Read/Write Analysis for a Compiled TIDL Model
  7. 4Model Optimization
    1. 4.1 Simple Structure Models
    2. 4.2 Complex Structure
      1. 4.2.1 Residual Structures
      2. 4.2.2 Parallel Branch Merge
  8. 5Summary
  9. 6References

Model DDR Read/Write Analysis for a Compiled TIDL Model

The TI model compilation tool provides corresponding interfaces to facilitate fast DDR read/write analysis. When compiling the model, a bufinfolog_0.csv file will be generated in the output folder. To be precise, it will be in a folder with naming like artifacts/tempDir/$SUBGRAPH_NAME_tidl_net, where the SUBGRAPH_NAME is model dependent. Exact names of the folder structure may have slight changes in different SDK releases.

It is important to note that when using the RTOS (i.e., tidl_model_import.out) tool, you must ensure that a perfSimConfig is provided and that the tool executes without errors. In any scenario where model compilation fails, the errors must be resolved before analyzing bandwidth consumption. Any error logs during the compilation process may lead to inaccurate analysis results.

The table below explains the key fields in the bufinfolog CSV file.

Table 3-1 Description of fields in bufinfolog CSV files
FieldDescription
NiInput feature map channel dimension.
NoOutput feature map channel dimension.
InWInput feature map width dimension.
InHInput feature map height dimension.
OutWOutput feature map width dimension.
OutHOutput feature map height dimension.
In-Write-sizeActual input feature map size, calculated in Bytes. May include some small overhead for padding or the DMA bus sizing

In-Write-memSpace

L2 or DDR; All layers use L2 except the Data layer (input/output layers)

Out-Read-memSpace

Temporary storage location for current layer's computation results. Values are typically empty, L2, MSMC, or DDR. Empty indicates computed results are directly stored into Out-Write-memSpace. When a value is present, it indicates part of the current layer's output feature map needs to be stored in Out-Read-memSpace first, then read from this space and written into Out-Write-memSpace.

Out-Write-memSpace

Final storage location for current layer's feature map. Values are DDR or MSMC. DDR indicates the current layer's output feature map cannot fully fit into MSMC, so part or all of it is stored in DDR. MSMC indicates the output is entirely stored in MSMC for use by subsequent layers.

Out-Write-size

Amount of data stored in the Out-Write-memSpace by the current layer. When Out-Write-memSpace is DDR, this value represents the current layer's contribution to DDR write bandwidth consumption. May include some small overhead for padding or the DMA bus sizing

Wt-Write-memSpace

Loading location for current layer's weights. Always L2. Weight values are entirely stored in DDR and loaded into L2 when used.

Wt-Write-size

Size of the current layer's weight data. This value contributes to DDR read bandwidth consumption. May include some overhead for padding or DMA bus sizing

Among the fields mentioned above, DDR write bandwidth is primarily influenced by the value of Out-Write-memSpace. By reducing the output feature map size for a layer, the DDR write bandwidth consumption can be significantly decreased.

DDR read bandwidth is mainly affected by Wt-Write-size and In-Write-size. Notably, In-Write-size only has an impact when the output of the previous layer is partially or entirely stored in DDR.

Therefore, the key to reducing DDR read/write bandwidth lies in optimizing the model to minimize the read bandwidth caused by weights and the read/write bandwidth resulting from large feature maps.