For details about the mapping between AI processors and Ascend products, see Ascend Product Overview.
|
AI Processor Type |
Supported |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
Timeline report: msprof_*.json.
The following shows a sample msprof_*.json file opened in chrome://tracing.
As shown in Figure 1, the timeline summary data is displayed in the following areas:
When viewing a .json file in tracing, enable the option under Flow events, and the corresponding delivery and execution mappings between application-layer operators and NPU operators are displayed through connection lines. See Figure 2.
The mappings include:
You can click the operator or API at each end of a connection line to view the operator delivery direction. See Figure 3.
View the inbound and outbound directions of an operator or API in the Event(s) column. View the information at both ends of a mapping in the Link column.
Applicability:
The AI Core Freq layer in the msprof_*.json file displays the frequency changes of AI Cores during AI task running, as shown in Figure 4.
At timestamp 148089.72045898438, the AI Cores were operating at a high frequency; however, at timestamp 170178.44116210938, there was a decrease in frequency which indicates a reduction in performance for AI jobs during that time period. The frequency of AI Cores could be lowered for a couple of reasons. First, as the temperature increases and the built-in protection mechanism is activated, the AI Core frequency may be reduced to prevent overheating. Second, if no AI job is in progress and the AI Cores enter a low-power mode, their frequency could also be lowered.
When frequency changes, there is a delay of 0 ms to 1 ms between the actual frequency change time and the time monitored by the software. This delay may cause the operator execution time before and after frequency change to be inconsistent with the actual time.
Availability:
The SIO layer in the msprof_*.json file displays the transmission bandwidth between dies.
In
In Atlas 350 Accelerator Card, each SIO data stream uses four physical channels: U-DIE0, U-DIE1, D-DIE0, and D-DIE1. D-DIE indicates Die-to-Die, which means the interconnection between two dies. U-DIE indicates Die-to-Unit, which means the interconnection between a die and a unit. D-DIE0 and D-DIE1 are interconnected and have the same data. Therefore, only one D-DIE needs to be collected. U-DIE0 and U-DIE1 are two dies connected to two units, respectively. Therefore, information about the two U-DIEs needs to be collected separately.
The horizontal coordinate of each color block in the figure corresponds to the time (unit: ms), and the vertical coordinate corresponds to the bandwidth value (unit: MB/s).
|
Field |
Description |
|---|---|
|
dat_rx |
Rx bandwidth of the data stream channel. |
|
dat_tx |
Tx bandwidth of the data stream channel. |
|
req_rx |
Rx bandwidth of the request stream channel. |
|
req_tx |
Tx bandwidth of the request stream channel. |
|
rsp_rx |
Rx bandwidth of the response stream channel. |
|
rsp_tx |
Tx bandwidth of the response stream channel. |
|
snp_rx |
Rx bandwidth of the monitor stream channel. |
|
snp_tx |
Tx bandwidth of the monitor stream channel. |
The QoS layer in the msprof_*.json file displays the device QoS bandwidth information.
Applicability:
The horizontal coordinate of each color block in the figure corresponds to the time (unit: ms), and the vertical coordinate corresponds to the bandwidth value (unit: MB/s).
Applicability:
In scenarios where computing and communication operators are integrated.
MC2: Matrix Computation & Communication, a general name of a series of computation and communication fusion operators in CANN. It combines two serial communication and computation operators and divides them into multiple rounds of communication and computation through tiling. The rounds form pipeline parallelism, which masks the communication time and improves the overall execution performance.
Generally, a specific operator is named based on the name of the original computation and communication operator and the dependency. For example, the AllgatherMatmul fusion operator indicates that the communication operator Allgather and the computation operator Matmul are fused, and matmul depends on the Allgather output.
commTurn: number of tiling copies of the fusion operator. Generally, the value is the total data volume divided by the single communication volume.
In the MC2 implementation, two operators are loaded to the computation stream and communication stream, respectively. The two operators collaborate to implement parallel pipeline execution.
The communication operator performs multiple communication rounds based on the tiling of the fusion operator. The basic process of each round is as follows: The communication operator executes the collective communication algorithm based on the communication parameters delivered by the computing operator, orchestrates specific tasks, delivers the tasks to the hardware for execution, waits until the execution is complete, and notifies the computing side of the execution result.
The following shows an example of the MC2 profile data result.
Figure 8 shows the MatmulAllReduceAddRmsNormAicpu fusion operator. For details about each stage, see Table 2.
|
Field |
Description |
|---|---|
|
StartServer |
KFC initialization time. |
|
TaskWaitRequest |
Wait for the computation operator to deliver communication parameters. |
|
TaskOrchestration |
The communication operator executes the collective communication algorithm and orchestrates and executes tasks. |
|
TaskLaunch |
Time required for issuing tasks. |
|
TaskExecute |
Time of waiting for the completion of a hardware task. |
|
Finalize |
KFC end process. |
Voltage Info in msprof*.json displays the device voltage transformation information.
Applicability:
The following example shows the voltage transformation characteristic curve.
Figure 9 shows the voltage transformation characteristic curve. In the figure, the horizontal coordinates of the color blocks correspond to time (ms), and the vertical coordinates correspond to voltage values (mV). Table 3 describes the fields.
Applicability:
As shown in the preceding figure, at the Ascend Hardware level, blank gaps appear in subsequent timelines when MEM_WAIT_VALUE or CAPTURE_WAIT occurs. These gaps cover two types of events: