Description of .db Data Exported by msprof
After the msprof command is executed, an msprof_{timestamp}.db table structure file is generated to summarize all profile data. You are advised to use MindStudio Insight or a database development tool such as Navicat Premium to open the file. The profile data summarized by the current .db file is as follows:
Profile data is displayed in tables in a .db file, and all data is mapped in numbers (for example, the operator name in the opName field is displayed as 194). The mapping table between numbers and names is STRING_IDS.
Units
- Time: ns, local Unix time.
- Memory: byte.
- Bandwidth: byte/s.
- Frequency: MHz.
ENUM_API_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
API type. |
id |
name |
|---|---|
20000 |
acl |
15000 |
model |
10000 |
node |
5500 |
communication |
5000 |
runtime |
50001 |
op |
50002 |
queue |
50003 |
trace |
50004 |
mstx |
ENUM_MODULE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
Component name. |
id |
name |
|---|---|
0 |
SLOG |
1 |
IDEDD |
2 |
SCC |
3 |
HCCL |
4 |
FMK |
5 |
CCU |
6 |
DVPP |
7 |
RUNTIME |
8 |
CCE |
9 |
HDC |
10 |
DRV |
11 |
NET |
22 |
DEVMM |
23 |
KERNEL |
24 |
LIBMEDIA |
25 |
CCECPU |
27 |
ROS |
28 |
HCCP |
29 |
ROCE |
30 |
TEFUSION |
31 |
PROFILING |
32 |
DP |
33 |
APP |
34 |
TS |
35 |
TSDUMP |
36 |
AICPU |
37 |
LP |
38 |
TDT |
39 |
FE |
40 |
MD |
41 |
MB |
42 |
ME |
43 |
IMU |
44 |
IMP |
45 |
GE |
47 |
CAMERA |
48 |
ASCENDCL |
49 |
TEEOS |
50 |
ISP |
51 |
SIS |
52 |
HSM |
53 |
DSS |
54 |
PROCMGR |
55 |
BBOX |
56 |
AIVECTOR |
57 |
TBE |
58 |
FV |
59 |
MDCMAP |
60 |
TUNE |
61 |
HSS |
62 |
FFTS |
63 |
OP |
64 |
UDF |
65 |
HICAID |
66 |
TSYNC |
67 |
AUDIO |
68 |
TPRT |
69 |
ASCENDCKERNEL |
70 |
ASYS |
71 |
ATRACE |
72 |
RTC |
73 |
SYSMONITOR |
74 |
AMP |
75 |
ADETECT |
76 |
MBUFF |
77 |
CUSTOM |
ENUM_HCCL_DATA_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
Communication data type. |
id |
name |
|---|---|
0 |
INT8 |
1 |
INT16 |
2 |
INT32 |
3 |
FP16 |
4 |
FP32 |
5 |
INT64 |
6 |
UINT64 |
7 |
UINT8 |
8 |
UINT16 |
9 |
UINT32 |
10 |
FP64 |
11 |
BFP16 |
12 |
INT128 |
255 |
RESERVED |
65534 |
N/A |
65535 |
INVALID_TYPE |
ENUM_HCCL_LINK_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
Communication link type. |
id |
name |
|---|---|
0 |
ON_CHIP |
1 |
HCCS |
2 |
PCIE |
3 |
ROCE |
4 |
SIO |
5 |
HCCS_SW |
6 |
STANDARD_ROCE |
255 |
RESERVED |
65534 |
N/A |
65535 |
INVALID_TYPE |
ENUM_HCCL_TRANSPORT_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
Communication transmission type. |
id |
name |
|---|---|
0 |
SDMA |
1 |
RDMA |
2 |
LOCAL |
255 |
RESERVED |
65534 |
N/A |
65535 |
INVALID_TYPE |
ENUM_HCCL_RDMA_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index ID. |
name |
TEXT |
RDMA communication type. |
id |
name |
|---|---|
0 |
RDMA_SEND_NOTIFY |
1 |
RDMA_SEND_PAYLOAD |
255 |
RESERVED |
65534 |
N/A |
65535 |
INVALID_TYPE |
ENUM_MSTX_EVENT_TYPE
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Index, which is the ID for the event type in the TX marker data on the host side. |
name |
INTEGER |
Event type of the TX marker data on the host. |
id |
name |
|---|---|
0 |
marker |
1 |
push/pop |
2 |
start/end |
3 |
marker_ex |
ENUM_MEMCPY_OPERATION
Enumeration table.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Primary key ID. |
name |
TEXT |
Copy type. |
id |
name |
|---|---|
0 |
host to host |
1 |
host to device |
2 |
device to host |
3 |
device to device |
4 |
managed memory |
5 |
addr device to device |
6 |
host to device ex |
7 |
device to host ex |
65535 |
other |
STRING_IDS
Mapping table, which stores mapping between IDs and character strings.
There is no enable or disable option for this table.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
String index ID. |
value |
TEXT |
String value. |
SESSION_TIME_INFO
Time table, which stores the start and end time of the profile data. If the profiling process does not exit normally, no end time is recorded.
There is no enable or disable option for this table.
Field |
Type |
Description |
|---|---|---|
startTimeNs |
INTEGER |
Unix time when a task is started, in ns. |
endTimeNs |
INTEGER |
Unix time when a task ends, in ns. |
NPU_INFO
Stores the chip models corresponding to the device IDs.
There is no enable or disable option for this table.
Field |
Type |
Description |
|---|---|---|
id |
INTEGER |
Device ID. The value -1 indicates that the device ID was not profiled. |
name |
TEXT |
Chip model of a device. |
HOST_INFO
Stores the host IDs and names.
There is no enable or disable option for this table.
Field |
Type |
Description |
|---|---|---|
hostUid |
TEXT |
Unique ID of a host. |
hostName |
TEXT |
Host name, for example, localhost. |
TASK
Stores information about all operator tasks executed by the hardware.
This table is controlled by the --task-time option.
Field |
Type |
Description |
|---|---|---|
startNs |
INTEGER |
Start time of an operator task, in ns. It is combined with globalTaskId to form a composite index named TaskIndex. |
endNs |
INTEGER |
End time of an operator task, in ns. |
deviceId |
INTEGER |
Device ID corresponding to the operator task. |
connectionId |
INTEGER |
Generate host-device connections. |
globalTaskId |
INTEGER |
Unique global operator task ID. It is combined index with startNs to form a composite index named TaskIndex. |
globalPid |
INTEGER |
PID of an operator task. |
taskType |
INTEGER |
Type of the accelerator that executes the operator on the device. |
contextId |
INTEGER |
Used to distinguish small operators of subgraphs, usually MIX operators and FFTS+ tasks. |
streamId |
INTEGER |
Stream ID of an operator task. |
taskId |
INTEGER |
Task ID of an operator task. |
modelId |
INTEGER |
Model ID of an operator task. |
COMPUTE_TASK_INFO
Stores information about compute operators.
This table is controlled by the --task-time option.
Field |
Type |
Description |
|---|---|---|
name |
INTEGER |
Operator name, STRING_IDS(name). |
globalTaskId |
INTEGER |
Index, global operator task ID, which is used to associate with the TASK table. |
blockDim |
INTEGER |
Number of running operator blocks, which corresponds to the number of cores during operator running. |
mixBlockDim |
INTEGER |
BlockDim value of the secondary accelerator of the mix operator. |
taskType |
INTEGER |
Type of the accelerator that executes the operator on the host, STRING_IDS(taskType). |
opType |
INTEGER |
Operator type, STRING_IDS(opType). |
inputFormats |
INTEGER |
Input data formats, STRING_IDS(inputFormats). |
inputDataTypes |
INTEGER |
Input data types, STRING_IDS(inputDataTypes). |
inputShapes |
INTEGER |
Input shapes, STRING_IDS(inputShapes). |
outputFormats |
INTEGER |
Output data formats, STRING_IDS(outputFormats). |
outputDataTypes |
INTEGER |
Output data types, STRING_IDS(outputDataTypes). |
outputShapes |
INTEGER |
Output shapes, STRING_IDS(outputShapes). |
attrInfo |
INTEGER |
Operator attribute information, which is used to map the operator shape and operator-defined parameters. The format is STRING_IDS(attrInfo). |
opState |
INTEGER |
Whether the operator is dynamic or static. dynamic indicates a dynamic operator, static indicates a static operator, and N/A indicates that the scenario or operator is not identified. The format is STRING_IDS(opState). |
hf32Eligible |
INTEGER |
Whether to use the HF32 precision flag. YES indicates that the HF32 precision flag is used, NO indicates that the HF32 precision flag is not used, and N/A indicates that the scenario or operator is not identified. The format is STRING_IDS(hf32Eligible). |
COMMUNICATION_TASK_INFO
Stores information about small communication operators.
--task-time, --hccl, and --ascendcl control the profiling of corresponding data. The data is valid when --task-time is set to a value other than l0. This table is generated automatically when communication data is available.
Field |
Type |
Description |
|---|---|---|
name |
INTEGER |
Operator name, STRING_IDS(name). |
globalTaskId |
INTEGER |
Index. The index name is CommunicationTaskIndex, which is the global operator task ID and is used to associate with the TASK table. |
taskType |
INTEGER |
Operator type, STRING_IDS(taskType). |
planeId |
INTEGER |
Network plane ID. |
groupName |
INTEGER |
Communicator, STRING_IDS(groupName). |
notifyId |
INTEGER |
Unique notify ID. |
rdmaType |
INTEGER |
RDMA type, including RDMASendNotify, RDMASendPayload, and ENUM_HCCL_RDMA_TYPE(rdmaType). |
srcRank |
INTEGER |
Source rank. |
dstRank |
INTEGER |
Destination rank. |
transportType |
INTEGER |
Transmission type, including LOCAL, SDMA, and RDMA. The format is ENUM_HCCL_TRANSPORT_TYPE(transportType). |
size |
INTEGER |
Data size, in bytes. |
dataType |
INTEGER |
Data format, ENUM_HCCL_DATA_TYPE(dataType). |
linkType |
INTEGER |
Link type, including HCCS, PCIe, and RoCE. The format is ENUM_HCCL_LINK_TYPE(linkType). |
opId |
INTEGER |
ID of the corresponding large operator, which is used to associate with the COMMUNICATION_OP table. |
isMaster |
INTEGER |
Whether the operator is a primary or secondary stream communication operator. The primary stream operator is used for analysis.
|
bandwidth |
NUMERIC |
Bandwidth data of the small communication operator, in bytes/s. |
COMMUNICATION_OP
Stores information about large communication operators.
--task-time and --hccl control the profiling of corresponding data. This table is generated automatically when communication data is available.
Field |
Type |
Description |
|---|---|---|
opName |
INTEGER |
Operator name, STRING_IDS(opName). For example, hcom_allReduce__428_0_1. |
startNs |
INTEGER |
Start time of a large communication operator, in ns. |
endNs |
INTEGER |
End time of a large communication operator, in ns. |
connectionId |
INTEGER |
Generate host-device connections. |
groupName |
INTEGER |
Communicator, STRING_IDS(groupName). For example, 10.170.22.98%enp67s0f5_60000_0_1708156014257149. |
opId |
INTEGER |
Index, which is the ID of a large communication operator and is used to associate with the COMMUNICATION_TASK_INFO table. |
relay |
INTEGER |
Link relay flag. |
retry |
INTEGER |
Retransmission flag. |
dataType |
INTEGER |
Type of data transmitted by the large operator, ENUM_HCCL_DATA_TYPE(dataType). For example, INT8 and FP32. |
algType |
INTEGER |
Algorithm used by the communication operator, STRING_IDS(algType). For example, HD-MESH. The algorithm can be divided into multiple phases. |
count |
NUMERIC |
Data volume of the dataType type transmitted by the operator. |
opType |
INTEGER |
Operator type, STRING_IDS(opType). For example, hcom_broadcast_. |
deviceld |
INTEGER |
Device ID. |
CANN_API
Stores data about CANN APIs.
This table is controlled by --ascendcl.
Field |
Type |
Description |
|---|---|---|
startNs |
INTEGER |
API start time, in ns. |
endNs |
INTEGER |
API end time, in ns. |
type |
INTEGER |
API type, ENUM_API_TYPE(type). |
globalTid |
INTEGER |
Global TID of the API. High-order 32 bits: PID; low-order 32 bits: TID. |
connectionId |
INTEGER |
Index, which is used to associate the TASK table with the COMMUNICATION_OP table. |
name |
INTEGER |
API name, STRING_IDS(name). |
QOS
Stores the QoS data.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
eventName |
NUMERIC |
QoS event name, STRING_IDS(eventName). |
bandwidth |
NUMERIC |
Bandwidth at the time of the QoS event, in bytes/s. |
timestampNs |
NUMERIC |
Local time, in ns. |
AICORE_FREQ
Stores AI Core frequency information.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
deviceld |
INTEGER |
Device ID. |
timestampNs |
NUMERIC |
Local timestamps of frequency changes, in ns. |
freq |
INTEGER |
AI Core frequency, in MHz. |
ACC_PMU
Stores the ACC_PMU data.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
accId |
INTEGER |
Accelerator ID. |
readBwLevel |
INTEGER |
Read bandwidth level of the DVPP and DSA accelerators. |
writeBwLevel |
INTEGER |
Write bandwidth level of the DVPP and DSA accelerators. |
readOstLevel |
INTEGER |
Read concurrency level of the DVPP and DSA accelerators. |
writeOstLevel |
INTEGER |
Write concurrency level of the DVPP and DSA accelerators. |
timestampNs |
NUMERIC |
Local time, in ns. |
deviceId |
INTEGER |
Device ID. |
SOC_BANDWIDTH_LEVEL
Stores SoC bandwidth level information.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
l2BufferBwLevel |
INTEGER |
L2 buffer bandwidth level. |
mataBwLevel |
INTEGER |
Mata bandwidth level. |
timestampNs |
NUMERIC |
Local time, in ns. |
deviceId |
INTEGER |
Device ID. |
NIC
Stores NIC information over time.
Control switch:
- --sys-io-profiling and --sys-io-sampling-freq of the msprof command
- sys_io of Ascend PyTorch Profiler
- sys_io of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
bandwidth |
INTEGER |
Bandwidth, in byte/s. |
rxPacketRate |
NUMERIC |
Packet receiving rate, in packet/s. |
rxByteRate |
NUMERIC |
Byte receiving rate, in byte/s. |
rxPackets |
INTEGER |
Total number of received packets. |
rxBytes |
INTEGER |
Total number of received bytes, in bytes. |
rxErrors |
INTEGER |
Total number of received error packets. |
rxDropped |
INTEGER |
Total number of lost received packets. |
txPacketRate |
NUMERIC |
Packet sending rate, in packet/s. |
txByteRate |
NUMERIC |
Rate of sending bytes, in byte/s. |
txPackets |
INTEGER |
Total number of sent packets. |
txBytes |
INTEGER |
Total number of sent bytes, in bytes. |
txErrors |
INTEGER |
Total number of sent error packets. |
txDropped |
INTEGER |
Total number of lost sent packets. |
funcId |
INTEGER |
Port. |
ROCE
Stores the RoCE bandwidth data.
Control switch:
- --sys-io-profiling and --sys-io-sampling-freq of the msprof command
- sys_io of Ascend PyTorch Profiler
- sys_io of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
bandwidth |
INTEGER |
Bandwidth, in byte/s. |
rxPacketRate |
NUMERIC |
Packet receiving rate, in packet/s. |
rxByteRate |
NUMERIC |
Byte receiving rate, in byte/s. |
rxPackets |
INTEGER |
Total number of received packets. |
rxBytes |
INTEGER |
Total number of received bytes, in bytes. |
rxErrors |
INTEGER |
Total number of received error packets. |
rxDropped |
INTEGER |
Total number of lost received packets. |
txPacketRate |
NUMERIC |
Packet sending rate, in packet/s. |
txByteRate |
NUMERIC |
Rate of sending bytes, in byte/s. |
txPackets |
INTEGER |
Total number of sent packets. |
txBytes |
INTEGER |
Total number of sent bytes, in bytes. |
txErrors |
INTEGER |
Total number of sent error packets. |
txDropped |
INTEGER |
Total number of lost sent packets. |
funcId |
INTEGER |
Port |
LLC
Stores the L3 cache bandwidth data.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
llcId |
INTEGER |
L3 cache ID. |
timestampNs |
INTEGER |
Local time, in ns. |
hitRate |
NUMERIC |
L3 cache hit rate (100%). |
throughput |
NUMERIC |
L3 cache throughput, in bytes/s. |
mode |
INTEGER |
Mode used to distinguish read and write, STRING_IDS(mode). |
TASK_PMU_INFO
Stores the PMU data of compute operators.
Control switch
- --ai-core and --aic-mode=task-based of the msprof command control the generation of this table, and --aic-metrics controls the data to be profiled.
- aic_metrics of Ascend PyTorch Profiler
- aic_metrics of MindSpore Profiler
Only Atlas 200/500 A2 Inference Product and Atlas A2 Training Series Product/Atlas 800I A2 Inference Product can collect this type of data.
Field |
Type |
Description |
|---|---|---|
globalTaskId |
INTEGER |
Global operator task ID, which is used to associate with the TASK table. |
name |
INTEGER |
PMU metric name, STRING_IDS(name). |
value |
NUMERIC |
Value corresponding to the metric name. |
SAMPLE_PMU_TIMELINE
Stores the sample-based PMU data, which is used to display timeline data.
Control switch
- --ai-core and --aic-mode=sample-based of the msprof command control the generation of this table, and --aic-metrics controls the data to be profiled.
- aic_metrics of Ascend PyTorch Profiler
- aic_metrics of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
totalCycle |
INTEGER |
Number of cycles of the corresponding core in the time slice. |
usage |
NUMERIC |
Usage of the corresponding core in the time slice (100%). |
freq |
NUMERIC |
Frequency of the corresponding core in the time slice, in MHz. |
coreId |
INTEGER |
Core ID. |
coreType |
INTEGER |
Core type (AIC or AIV), STRING_IDS(coreType). |
SAMPLE_PMU_SUMMARY
Stores the sample-based PMU data, which is used to display summary data.
Control switch
- --ai-core and --aic-mode=sample-based of the msprof command control the generation of this table, and --aic-metrics controls the data to be profiled.
- aic_metrics of Ascend PyTorch Profiler
- aic_metrics of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
metric |
INTEGER |
PMU metric name, STRING_IDS(metric). |
value |
NUMERIC |
Value corresponding to the metric name. |
coreId |
INTEGER |
Core ID. |
coreType |
INTEGER |
Core type (AIC or AIV), STRING_IDS(coreType). |
NPU_MEM
Stores the NPU memory usage.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
type |
INTEGER |
Event type, which can be app or device. STRING_IDS (type) |
ddr |
NUMERIC |
DDR usage, in bytes. |
hbm |
NUMERIC |
Size of the on-chip memory, in bytes. |
timestampNs |
INTEGER |
Local time, in ns. |
deviceId |
INTEGER |
Device ID. |
NPU_MODULE_MEM
Stores the memory usage of the NPU component.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
moduleId |
INTEGER |
Component type, ENUM_MODULE(moduleId). |
timestampNs |
INTEGER |
Local time, in ns. |
totalReserved |
NUMERIC |
Memory usage, in bytes. |
deviceId |
INTEGER |
Device ID. |
NPU_OP_MEM
Stores the memory usage of CANN operators (supported only by GE operators)
This table is controlled by --task-memory.
Field |
Type |
Description |
|---|---|---|
operatorName |
INTEGER |
Operator name, STRING_IDS(operatorName). |
addr |
INTEGER |
Initial address for memory allocation and release. |
type |
INTEGER |
Used to distinguish application and release, STRING_IDS(type). |
size |
INTEGER |
Size of the allocated memory, in bytes. |
timestampNs |
INTEGER |
Local time, in ns. |
globalTid |
INTEGER |
Global TID of the record. High-order 32 bits: PID; low-order 32 bits: TID. |
totalAllocate |
NUMERIC |
Total allocated memory size, in bytes. |
totalReserve |
NUMERIC |
Total memory size, in bytes. |
component |
INTEGER |
Component name, STRING_IDS(component). |
deviceId |
INTEGER |
Device ID. |
HBM
Stores the on-chip memory read/write speed data.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
bandwidth |
NUMERIC |
Bandwidth, in byte/s. |
hbmId |
INTEGER |
Memory access unit ID. |
type |
INTEGER |
Used to distinguish read and write, STRING_IDS(type). |
DDR
Stores the on-chip memory read/write speed data.
This table is controlled by --sys-hardware-mem and --sys-hardware-mem-freq.
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
read |
NUMERIC |
Memory read bandwidth, in byte/s. |
write |
NUMERIC |
Memory write bandwidth, in byte/s. |
HCCS
Stores the HCCS bandwidth data.
Control switch
- --sys-interconnection-profiling and --sys-interconnection-freq of the msprof command
- sys_interconnection of Ascend PyTorch Profiler
- sys_interconnection of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
txThroughput |
NUMERIC |
TX bandwidth, in byte/s. |
rxThroughput |
NUMERIC |
RX bandwidth, in byte/s. |
PCIE
Stores the PCIe bandwidth data.
Control switch
- --sys-interconnection-profiling and --sys-interconnection-freq of the msprof command
- sys_interconnection of Ascend PyTorch Profiler
- sys_interconnection of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
txPostMin |
NUMERIC |
Minimum bandwidth for sending PCIe posted data at the TX side, in byte/s. |
txPostMax |
NUMERIC |
Maximum bandwidth for sending PCIe posted data at the TX side, in byte/s. |
txPostAvg |
NUMERIC |
Average bandwidth for sending PCIe posted data at the TX side, in byte/s. |
txNonpostMin |
NUMERIC |
Minimum bandwidth for sending PCIe non-posted data at the TX side, in byte/s. |
txNonpostMax |
NUMERIC |
Maximum bandwidth for sending PCIe non-posted data at the TX side, in byte/s. |
txNonpostAvg |
NUMERIC |
Average bandwidth for sending PCIe non-posted data at the TX side, in byte/s. |
txCplMin |
NUMERIC |
Minimum completion packet size for write requests at the TX side, in bytes/s. |
txCplMax |
NUMERIC |
Maximum completion packet size for write requests at the TX side, in bytes/s. |
txCplAvg |
NUMERIC |
Average completion packet size for write requests at the TX side, in bytes/s. |
txNonpostLatencyMin |
NUMERIC |
Minimum transmission latency in PCIe non-posted mode at the TX side, in ns. |
txNonpostLatencyMax |
NUMERIC |
Maximum transmission latency in PCIe non-posted mode at the TX side, in ns. |
txNonpostLatencyAvg |
NUMERIC |
Average transmission latency in PCIe non-posted mode at the TX side, in ns. |
rxPostMin |
NUMERIC |
Minimum bandwidth for sending PCIe posted data at the RX side, in byte/s. |
rxPostMax |
NUMERIC |
Maximum bandwidth for sending PCIe posted data at the RX side, in byte/s. |
rxPostAvg |
NUMERIC |
Average bandwidth for sending PCIe posted data at the RX side, in byte/s. |
rxNonpostMin |
NUMERIC |
Minimum bandwidth for sending PCIe non-posted data at the RX side, in byte/s. |
rxNonpostMax |
NUMERIC |
Maximum bandwidth for sending PCIe non-posted data at the RX side, in byte/s. |
rxNonpostAvg |
NUMERIC |
Average bandwidth for sending PCIe non-posted data at the RX side, in byte/s. |
rxCplMin |
NUMERIC |
Minimum completion packet size for write requests at the RX side, in bytes/s. |
rxCplMax |
NUMERIC |
Maximum completion packet size for write requests at the RX side, in bytes/s. |
rxCplAvg |
NUMERIC |
Average completion packet size for write requests at the RX side, in bytes/s. |
META_DATA
Stores basic data. Currently, only version information is stored.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db.
Field |
Type |
Description |
|---|---|---|
name |
TEXT |
Field. |
value |
TEXT |
Value. |
name |
Description |
|---|---|
SCHEMA_VERSION |
Full version number, for example, 1.0.2. |
SCHEMA_VERSION_MAJOR |
Major version number, for example, 1. The value is changed only when the database format is rewritten or reconstructed. |
SCHEMA_VERSION_MINOR |
Medium version number, for example, 0. The value is changed when the column or type is changed. Compatibility issues exist. |
SCHEMA_VERSION_MICRO |
Minor version number, for example, 2. The value is changed when the table is updated. No compatibility issue exists. |
MSTX_EVENTS
Stores host-side data profiled by mstx APIs. Device-side data is summarized in the TASK table.
--msproftx controls the table output, while the mstx APIs control the profiling of such data.
Field |
Type |
Description |
|---|---|---|
startNs |
INTEGER |
Start time of TX marker data on the host, in ns. |
endNs |
INTEGER |
End time of TX marker data on the host, in ns. |
eventType |
INTEGER |
TX marker data type on the host, ENUM_MSTX_EVENT_TYPE(eventType). |
rangeId |
INTEGER |
Range ID corresponding to the TX data of the range type on the host. |
category |
INTEGER |
ID of the category to which the TX data on the host belongs. |
message |
INTEGER |
Information carried in the TX marker data on the host, STRING_IDS(message). |
globalTID |
INTEGER |
Global TID of the thread for starting TX marker data on the host. |
endGlobalTid |
INTEGER |
Global TID of the thread for ending TX marker data on the host. |
domainId |
INTEGER |
ID of the domain to which the TX marker data on the host belongs. |
connectionId |
INTEGER |
Connection ID of the TX marker data on the host, TASK(connectionId). |
COMMUNICATION_SCHEDULE_TASK_INFO
Stores communication scheduling description, which is currently only for AI CPU communication operators.
There is no enable or disable option for this table. It is generated automatically during the export of msprof_{timestamp}.db. The environment to be profiled must contain AI CPU communication operators.
Field |
Type |
Description |
|---|---|---|
name |
INTEGER |
Operator name, STRING_IDS(name). |
globalTaskId |
INTEGER |
Primary key, global operator task ID, which is used to associate with the TASK table. |
taskType |
INTEGER |
Type of the accelerator that executes the operator on the host, STRING_IDS(taskType). |
opType |
INTEGER |
Operator type, STRING_IDS(opType). |
MEMCPY_INFO
Stores information about the copied data size and copy direction of memcpy operators.
This table is controlled by --runtime-api.
Field |
Type |
Description |
|---|---|---|
globalTaskId |
NUMERIC |
Primary key, global operator task ID, which is used to associate with the TASK table. |
size |
NUMERIC |
Copied data size. |
memcpyOperation |
NUMERIC |
Copy type, STRING_IDS(memcpyDirection). |
CPU_USAGE
Stores host-side CPU usage.
This table is controlled by --host-sys=cpu.
Field |
Type |
Description |
|---|---|---|
timestampNs |
NUMERIC |
Local time, in ns. |
cpuId |
NUMERIC |
CPU ID. |
usage |
NUMERIC |
Usage (%). |
HOST_MEM_USAGE
Stores the host-side memory usage.
This table is controlled by --host-sys=mem.
Field |
Type |
Description |
|---|---|---|
timestampNs |
NUMERIC |
Local time, in ns. |
usage |
NUMERIC |
Usage (%). |
HOST_DISK_USAGE
Stores host-side disk I/O usage.
This table is controlled by --host-sys=disk.
Field |
Type |
Description |
|---|---|---|
timestampNs |
NUMERIC |
Local time, in ns. |
readRate |
NUMERIC |
Disk read rate, in bytes/s. |
writeRate |
NUMERIC |
Disk write rate, in bytes/s. |
usage |
NUMERIC |
Usage (%). |
HOST_NETWORK_USAGE
Stores information about host-side system-level network I/O usage.
This table is controlled by --host-sys=network.
Field |
Type |
Description |
|---|---|---|
timestampNs |
NUMERIC |
Local time, in ns. |
usage |
NUMERIC |
Usage (%). |
speed |
NUMERIC |
Network usage rate, in bytes/s. |
OSRT_API
Stores the host-side syscall and pthreadcall data.
This table is controlled by --host-sys=osrt.
Field |
Type |
Description |
|---|---|---|
name |
INTEGER |
OS runtime API name. |
globalTid |
NUMERIC |
Global TID of the thread that executes the API call. High-order 32 bits: PID; low-order 32 bits: TID. |
startNs |
INTEGER |
API start time, in ns. |
endNs |
INTEGER |
API end time, in ns. |
NETDEV_STATS
Stores hardware-sampled bandwidth metrics to identify specific communication issues. These metrics serve as overview items for preliminary troubleshooting. For example, if communication duration is abnormal, prioritize checking for network congestion.
Control switch
- --sys-io-profiling and --sys-io-sampling-freq of the msprof command
- sys_io of Ascend PyTorch Profiler
- sys_io of MindSpore Profiler
Field |
Type |
Description |
|---|---|---|
deviceId |
INTEGER |
Device ID. |
timestampNs |
INTEGER |
Local time, in ns. |
macTxPfcPkt |
INTEGER |
Number of PFC frames transmitted by the MAC. |
macRxPfcPkt |
INTEGER |
Number of PFC frames received by the MAC. |
macTxByte |
INTEGER |
Number of bytes transmitted by the MAC. |
macTxBandwidth |
NUMERIC |
MAC TX bandwidth, in bytes/s. |
macRxByte |
INTEGER |
Number of bytes received by the MAC. |
macRxBandwidth |
NUMERIC |
MAC RX bandwidth, in bytes/s. |
macTxBadByte |
INTEGER |
Bytes of bad packets transmitted by the MAC. |
macRxBadByte |
INTEGER |
Bytes of bad packets received by the MAC. |
roceTxPkt |
INTEGER |
Number of packets transmitted by the RoCEE. |
roceRxPkt |
INTEGER |
Number of packets received by the RoCEE. |
roceTxErrPkt |
INTEGER |
Number of bad packets transmitted by the RoCEE. |
roceRxErrPkt |
INTEGER |
Number of bad packets received by the RoCEE. |
roceTxCnpPkt |
INTEGER |
Number of CNP packets transmitted by the RoCEE. |
roceRxCnpPkt |
INTEGER |
Number of CNP packets received by the RoCEE. |
roceNewPktRty |
INTEGER |
Number of packets retransmitted due to timeout by the RoCEE. |
nicTxByte |
INTEGER |
Number of bytes transmitted by the NIC. |
nicTxBandwidth |
NUMERIC |
NIC TX bandwidth, in bytes/s. |
nicRxByte |
INTEGER |
Number of bytes received by the NIC. |
nicRxBandwidth |
NUMERIC |
NIC RX bandwidth, in bytes/s. |
RANK_DEVICE_MAP
Stores mapping between rankId and deviceId.
There is no enable or disable option for this table. It is generated by default when the ascend_pytorch_profiler_{Rank_ID}.db file is exported.
Field |
Type |
Description |
|---|---|---|
rankId |
INTEGER |
The value is fixed at -1. |
deviceId |
INTEGER |
Device ID on the node. The value -1 indicates that the device ID was not collected. |