6.71. CUpti_ActivityNvLink4

struct CUpti_ActivityNvLink4

NVLink information.

This structure gives capabilities of each logical NVLink connection between two devices, gpu<->gpu or gpu<->CPU which can be used to understand the topology.

Public Members

CUpti_ActivityKind kind

The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t nvlinkVersion

NvLink version.

CUpti_DevType typeDev0

Type of device 0 CUpti_DevType.

CUpti_DevType typeDev1

Type of device 1 CUpti_DevType.

uint32_t index

Index of the NPU.

First index will always be zero.

uint32_t domainId

Domain ID of NPU.

On Linux, this can be queried using lspci.

union CUpti_ActivityNvLink4::[anonymous] idDev0

If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0.

CUpti_ActivityDevice5. If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

union CUpti_ActivityNvLink4::[anonymous] idDev1

If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1.

CUpti_ActivityDevice5. If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

uint32_t flag

Flag gives capabilities of the link.

See also

CUpti_LinkFlag

uint32_t physicalNvLinkCount

Number of physical NVLinks present between two devices.

int8_t portDev0[32]

Port numbers for maximum 32 NVLinks connected to device 0.

If typeDev0 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

int8_t portDev1[32]

Port numbers for maximum 32 NVLinks connected to device 1.

If typeDev1 is CUPTI_DEV_TYPE_NPU, ignore this field. In case of invalid/unknown port number, this field will be set to value CUPTI_NVLINK_INVALID_PORT. This will be used to correlate the metric values to individual physical link and attribute traffic to the logical NVLink in the topology.

uint64_t bandwidth

Bandwidth of NVLink in kbytes/sec.

uint8_t nvswitchConnected

NVSwitch is connected as an intermediate node.

uint8_t pad[7]

Undefined.

reserved for internal use