Documentation
¶
Overview ¶
Package remappedrows tracks the NVIDIA per-GPU remapped rows.
Index ¶
Constants ¶
const Name = "accelerator-nvidia-remapped-rows"
Name is the ID of the remapped rows component.
const SubSystem = "accelerator_nvidia_remapped_rows"
SubSystem is the Prometheus subsystem name for remapped rows metrics.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New(gpudInstance *components.GPUdInstance) (components.Component, error)
New returns the NVIDIA remapped rows component.
Types ¶
type RemappedRows ¶ added in v0.9.0
type RemappedRows struct {
// Represents the GPU UUID.
UUID string `json:"uuid"`
// BusID is the GPU bus ID from the nvml API.
// e.g., "0000:0f:00.0"
BusID string `json:"bus_id"`
// The number of rows remapped due to correctable errors.
RemappedDueToCorrectableErrors int `json:"remapped_due_to_correctable_errors"`
// The number of rows remapped due to uncorrectable errors.
RemappedDueToUncorrectableErrors int `json:"remapped_due_to_uncorrectable_errors"`
// Indicates whether or not remappings are pending.
// If true, GPU requires a reset to actually remap the row.
//
// A pending remapping won't affect future work on the GPU
// since error-containment and dynamic page blacklisting will take care of that.
RemappingPending bool `json:"remapping_pending"`
// Set to true when a remapping has failed in the past.
// A pending remapping won't affect future work on the GPU
// since error-containment and dynamic page blacklisting will take care of that.
RemappingFailed bool `json:"remapping_failed"`
// Supported is true if the remapped rows are supported by the device.
// Even for "NVIDIA GeForce RTX 4090", this "GetRemappedRows" returns no error,
// thus "Supported" is not a reliable way to check if row remapping is supported.
Supported bool `json:"supported"`
}
RemappedRows represents the row remapping data. The row remapping feature is used to prevent known degraded memory locations from being used. But may require a GPU reset to actually remap the rows. ref. https://docs.nvidia.com/deploy/a100-gpu-mem-error-mgmt/index.html#row-remapping ref. https://docs.nvidia.com/deploy/nvml-api/group__nvmlDeviceQueries.html#group__nvmlDeviceQueries_1g055e7c34f7f15b6ae9aac1dabd60870d
func GetRemappedRows ¶ added in v0.9.0
func GetRemappedRows(uuid string, dev device.Device) (RemappedRows, error)
GetRemappedRows returns the row remapping state for the given GPU.
func (RemappedRows) QualifiesForRMA ¶ added in v0.9.0
func (r RemappedRows) QualifiesForRMA() bool
QualifiesForRMA reports whether a GPU meets NVIDIA's RMA criteria. ref. https://docs.nvidia.com/deploy/a100-gpu-mem-error-mgmt/index.html#rma-policy-thresholds-for-row-remapping
func (RemappedRows) RequiresReset ¶ added in v0.9.0
func (r RemappedRows) RequiresReset() bool
RequiresReset reports whether a GPU needs a reset to apply pending remaps.