Profiling Information¶
Overview¶
The quadric SDK’s output contains profiling information. Namely, it contains a breakdown of execution cycles by type, which looks like something like this, created by executing this network in the SDK:
TotalCycles: 18,387,722
predication : ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 1,981,324
compute : ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 3,616,340
data_array : ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 5,207,348
mac : ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 5,901,120
data_external: ▇▇▇ 400,937
data_ocm : ▇▇▇▇▇▇▇▇▇▇ 1,280,653
Below are explanations of each of these categories:
Category |
Meaning |
---|---|
Predication |
Branching (i.e. |
Compute |
Computational operations (e.g addition, subtraction, multiplication, division) |
data_array |
Movement between core registers |
MAC |
Multiply accumulates, used in convolutions and blurs |
data_external |
Movement of data between DDR and On-chip Memory (OCM) |
data_ocm |
Movement of data between On-chip Memory (OCM) and core array |