Cupti: CUpti_ActivityNvLink3 Struct Reference

# CUpti_ActivityNvLink3 Struct Reference
[CUPTI Activity API]

NVLink information. More...

## Data Fields
uint64_t | bandwidth
uint32_t | flag
union {
} | idDev0
union {
} | idDev1
CUpti_ActivityKind | kind
uint32_t | nvlinkVersion
uint8_t | nvswitchConnected
uint8_t | pad [7]
uint32_t | physicalNvLinkCount
int8_t | portDev0 [CUPTI_MAX_NVLINK_PORTS]
int8_t | portDev1 [CUPTI_MAX_NVLINK_PORTS]
CUpti_DevType | typeDev0
CUpti_DevType | typeDev1
uint32_t | domainId
uint32_t | index

## Detailed Description

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. NvLink information are now reported using the CUpti_ActivityNvLink4 activity record.

## Field Documentation

uint64_t CUpti_ActivityNvLink3::bandwidth

Banwidth of NVLink in kbytes/sec

uint32_t CUpti_ActivityNvLink3::domainId

Domain ID of NPU. On Linux, this can be queried using lspci.

uint32_t CUpti_ActivityNvLink3::flag

Flag gives capabilities of the link

See also:
  CUpti_LinkFlag

union { ... } CUpti_ActivityNvLink3::idDev0

If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0. CUpti_ActivityDevice4. If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

union { ... } CUpti_ActivityNvLink3::idDev1

If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. CUpti_ActivityDevice4. If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU.

uint32_t CUpti_ActivityNvLink3::index

Index of the NPU. First index will always be zero.

CUpti_ActivityKind CUpti_ActivityNvLink3::kind

The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK.

uint32_t CUpti_ActivityNvLink3::nvlinkVersion

NvLink version.

uint8_t CUpti_ActivityNvLink3::nvswitchConnected

NVSwitch is connected as an intermediate node.

uint8_t CUpti_ActivityNvLink3::pad[7]

Undefined. reserved for internal use

uint32_t CUpti_ActivityNvLink3::physicalNvLinkCount

Number of physical NVLinks present between two devices.

int8_t CUpti_ActivityNvLink3::portDev0[CUPTI_MAX_NVLINK_PORTS]

Port numbers for maximum 16 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 CUpti_ActivityNvLink3::portDev1[CUPTI_MAX_NVLINK_PORTS]

Port numbers for maximum 16 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.

CUpti_DevType CUpti_ActivityNvLink3::typeDev0

Type of device 0 CUpti_DevType

CUpti_DevType CUpti_ActivityNvLink3::typeDev1

Type of device 1 CUpti_DevType