# 6.79. 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