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.
-
enumerator NVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_LINK_DOWN_EVENTS#
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.
-
enumerator NVML_PRM_COUNTER_ID_NONE#
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:
NVML_SUCCESS on success
NVML_ERROR_INVALID_ARGUMENT if
deviceis invalid orcounterListis NULLNVML_ERROR_NO_PERMISSION if user does not have permission to perform this operation
NVML_ERROR_NOT_SUPPORTED if this feature is not supported by the device
NVML_ERROR_UNKNOWN on any other error
- 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:
NVML_SUCCESS on success
NVML_ERROR_INVALID_ARGUMENT if
deviceorbufferare invalidNVML_ERROR_NO_PERMISSION if user does not have permission to perform this operation
NVML_ERROR_NOT_SUPPORTED if this feature is not supported by the device