remappedrows

package
v0.12.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package remappedrows tracks the NVIDIA per-GPU remapped rows.

Index

Constants

View Source
const Name = "accelerator-nvidia-remapped-rows"

Name is the ID of the remapped rows component.

View Source
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL