PRM Access#

This chapter describes NVML operations that are associated with PRM register reads.

Macros#

NVML_PRM_DATA_MAX_SIZE

Maximum size of the PRM data.

Enumerations#

nvmlPRMCounterId_t

PRM Counter IDs.

Functions#

nvmlReturn_t nvmlDeviceReadPRMCounters_v1(nvmlDevice_t device, nvmlPRMCounterList_v1_t *counterList)

Read a list of GPU PRM Counters.

nvmlReturn_t nvmlDeviceReadWritePRM_v1(nvmlDevice_t device, nvmlPRMTLV_v1_t *buffer)

Read or write a GPU PRM register.

Structs#

nvmlPRMCounterInput_v1_t

PRM counter input values.

nvmlPRMCounterList_v1_t

PRM Counter List Structure v1.

nvmlPRMCounterValue_v1_t

PRM Counter Value Structure.

nvmlPRMCounter_v1_t

PRM Counter Structure v1.

nvmlPRMTLV_v1_t

Main PRM input structure.

Macros#

NVML_PRM_DATA_MAX_SIZE#

Maximum size of the PRM data.

Enumerations#

enum nvmlPRMCounterId_t#

PRM Counter IDs.

Values:

enumerator NVML_PRM_COUNTER_ID_NONE#

Sentinel.

PPCNT group 0x12, link_down_events.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_SUCCESSFUL_RECOVERY_EVENTS#

PPCNT group 0x12, successful_recovery_events.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_SUCCESSFUL_RECOVERY_EVENTS#

PPCNT group 0x1A, total_successful_recovery_events.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_SINCE_LAST_RECOVERY#

PPCNT group 0x1A, time_since_last_recovery.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_BETWEEN_LAST_TWO_RECOVERIES#

PPCNT group 0x1A, time_between_last_two_recoveries.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_IN_LAST_HOST_SERDES_FEQ_RECOVERY#

PPCNT group 0x1A, time_in_last_host_serdes_feq_recovery.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_TIME_IN_HOST_SERDES_FEQ_RECOVERY#

PPCNT group 0x1A, total_time_in_host_serdes_feq_recovery.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_HOST_SERDES_FEQ_RECOVERY_COUNT#

PPCNT group 0x1A, total_host_serdes_feq_recovery_count.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_HOST_SERDES_FEQ_SUCCESSFUL_RECOVERY_COUNT#

PPCNT group 0x1A, total_host_serdes_feq_successful_recovery_count.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_LAST_HOST_SERDES_FEQ_ATTEMPTS_COUNT#

PPCNT group 0x1A, last_host_serdes_feq_attempts_count.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_LAST_SUCCESSFUL_RECOVERY_STEP_ATTEMPTS#

PPCNT group 0x1A, last_successful_recovery_step_attempts.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_LAST_SUCCESSFUL_RECOVERY_TIME#

PPCNT group 0x1A, last_successful_recovery_time.

enumerator NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_SUCCESSFUL_RECOVERY_TIME#

PPCNT group 0x1A, total_successful_recovery_time.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PORTCOUNTERS_PORT_XMIT_WAIT#

PPCNT group 0x20, port_xmit_wait.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODES#

PPCNT group 0x22, plr_rcv_codes.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODE_ERR#

PPCNT group 0x22, plr_rcv_code_err.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_UNCORRECTABLE_CODE#

PPCNT group 0x22, plr_rcv_uncorrectable_code.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_CODES#

PPCNT group 0x22, plr_xmit_codes.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_CODES#

PPCNT group 0x22, plr_xmit_retry_codes.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_EVENTS#

PPCNT group 0x22, plr_xmit_retry_events.

enumerator NVML_PRM_COUNTER_ID_PPCNT_PLR_SYNC_EVENTS#

PPCNT group 0x22, plr_sync_events.

enumerator NVML_PRM_COUNTER_ID_PPRM_OPER_RECOVERY#

PPRM, oper_recovery.

Functions#

nvmlReturn_t nvmlDeviceReadPRMCounters_v1(
nvmlDevice_t device,
nvmlPRMCounterList_v1_t *counterList,
)#

Read a list of GPU PRM Counters.

For Blackwell or newer fully supported devices.

Supported on Linux only.

Parameters:
  • device – Identifer of target GPU device

  • counterList – Structure holding the input parameters as well as the retrieved counter values

Returns:

nvmlReturn_t nvmlDeviceReadWritePRM_v1(
nvmlDevice_t device,
nvmlPRMTLV_v1_t *buffer,
)#

Read or write a GPU PRM register.

The input is assumed to be in TLV format in network byte order.

For Blackwell or newer fully supported devices.

Supported on Linux only.

Parameters:
  • device – Identifer of target GPU device

  • buffer – Structure holding the input data in TLV format as well as the PRM register contents in TLV format (in the case of a successful read operation). Note: the input data and any returned data shall be in network byte order.

Returns: