ResourceConflictRatio (Resource Conflict Ratio)
The data of ratios of bank groups, bank conflicts, and resource conflicts in the UB to all instructions is saved in ResourceConflictRatio.csv. You are advised to reduce read/write conflicts on the same bank or read/read conflicts on a bank group.
A bank group is a group of banks in the UB. Each bank group contains multiple banks. A bank conflict refers to the competition between multiple threads that access the same bank at the same time in the UB.
For details, see the field description in the following table.
|
Field |
Description |
|---|---|
|
block_id |
Number of running task blocks, which corresponds to the number of cores configured during task running. |
|
sub_block_id |
Name and sequence number of each block used for task running. |
|
aic_time(us) |
Execution time (μs) on each AI Cube Core compute unit after the task is allocated to each AI Cube Core compute unit. |
|
aic_total_cycles |
Total number of cycles executed on each AI Cube Core compute unit after the task is allocated to each AI Cube Core compute unit. |
|
aiv_time(us) |
Execution time of each AI Vector Core compute unit after the task is allocated to the unit, in μs. |
|
aiv_total_cycles |
Total number of cycles executed on each AI Vector Core compute unit after the task is allocated to the unit. |
|
aic_cube_wait_ratio |
Ratio of cycles in which Cube units are blocked to the total cycles of instructions. |
|
aiv_vec_total_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked to the total cycles of instructions. |
|
aiv_vec_bankgroup_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by bankgroup conflicts to the total cycles of instructions. The bankgroup conflicts arise because the block stride of Vector instructions is improperly set. |
|
aiv_vec_bank_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by bank conflicts to the total cycles of instructions. The bank conflicts arise because the read/write pointer address of the Vector instruction operand is improper. |
|
aiv_vec_resc_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by execution unit resource conflicts to the total cycles of instructions. If an operator involves multiple compute units, ensure that they are concurrently scheduled. When a compute unit is working, but the operator logic still delivers instructions to it, the overall computing power is not fully utilized. |
|
aiv_vec_mte_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by MTE conflicts to the total cycles of instructions. |
|
aiv_vec_wait_ratio |
Ratio of cycles in which Vector units are blocked to the total cycles of instructions. |
|
ai*_mte1_wait_ratio |
Ratio of cycles in which MTE1 is blocked to the total cycles of instructions. |
|
ai*_mte2_wait_ratio |
Ratio of cycles in which MTE2 is blocked to the total cycles of instructions. |
|
ai*_mte3_wait_ratio |
Ratio of cycles in which MTE3 is blocked to the total cycles of instructions. |
|
Field |
Description |
|---|---|
|
aic_time(us) |
Execution time of each AI Core compute unit after the task is allocated to the unit, in μs. |
|
aic_total_cycles |
Total number of cycles executed on each AI Core compute unit after the task is allocated to the unit. |
|
aic_cube_wait_ratio |
aic_cube_wait_ratio: ratio of cycles in which Cube units are blocked to the total cycles of instructions. |
|
aic_vec_total_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked to the total cycles of instructions. |
|
aic_vec_bankgroup_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by bankgroup conflicts to the total cycles of instructions. The bankgroup conflicts arise because the block stride of Vector instructions is improperly set. |
|
aic_vec_bank_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by bank conflicts to the total cycles of instructions. The bank conflicts arise because the read/write pointer address of the Vector instruction operand is improper. |
|
aic_vec_resc_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by execution unit resource conflicts to the total cycles of instructions. If an operator involves multiple compute units, ensure that they are concurrently scheduled. When a compute unit is working, but the operator logic still delivers instructions to it, the overall computing power is not fully utilized. |
|
aic_vec_mte_cflt_ratio |
Ratio of cycles in which Vector instructions are blocked by MTE conflicts to the total cycles of instructions. |
|
aic_vec_wait_ratio |
Ratio of cycles in which Vector units are blocked to the total cycles of instructions. |
|
aic_mte1_wait_ratio |
Ratio of cycles in which MTE1 is blocked to the total cycles of instructions. |
|
aic_mte2_wait_ratio |
Ratio of cycles in which MTE2 is blocked to the total cycles of instructions. |
|
aic_mte3_wait_ratio |
Ratio of cycles in which MTE3 is blocked to the total cycles of instructions. |