gpu

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Initialization and Lifecycle Errors
	ErrNotInitialized   = errors.ErrResourceNotFound
	ErrInitFailed       = errors.ErrInitFailed
	ErrDeviceNotFound   = errors.ErrResourceNotFound
	ErrShutdownFailed   = errors.ErrShutdownFailed
	ErrDeviceInfoFailed = errors.ErrorCode("gpu_device_info_failed")

	// Temperature Errors
	ErrTemperatureReadFailed = errors.ErrorCode("gpu_temperature_read_failed")

	// Fan Control Errors
	ErrFanControlFailed   = errors.ErrorCode("gpu_fan_control_failed")
	ErrFanCountFailed     = errors.ErrorCode("gpu_fan_count_failed")
	ErrGetFanSpeedFailed  = errors.ErrorCode("gpu_fan_speed_failed")
	ErrGetFanLimitsFailed = errors.ErrorCode("gpu_fan_limits_failed")
	ErrSetFanSpeed        = errors.ErrorCode("gpu_set_fan_speed_failed")
	ErrEnableAutoFan      = errors.ErrorCode("gpu_enable_auto_fan_failed")
	ErrDisableAutoFan     = errors.ErrorCode("gpu_disable_auto_fan_failed")

	// Power Management Errors
	ErrPowerManagementFailed = errors.ErrorCode("gpu_power_management_failed")
	ErrPowerLimitFailed      = errors.ErrorCode("gpu_power_limit_failed")
	ErrPowerLimitsFailed     = errors.ErrorCode("gpu_power_limits_failed")
	ErrSetPowerLimit         = errors.ErrorCode("gpu_set_power_limit_failed")

	// Device Discovery Errors
	ErrDeviceCountFailed = errors.ErrorCode("gpu_device_count_failed")
	ErrDeviceUUIDFailed  = errors.ErrorCode("gpu_device_uuid_failed")
)

Variables

This section is empty.

Functions

func IsNVMLSuccess

func IsNVMLSuccess(ret nvml.Return) bool

IsNVMLSuccess checks if a Return value indicates success

Types

type Controller

type Controller interface {
	// Core operations
	Initialize() error
	Shutdown() error

	// Temperature management
	GetTemperature() (Temperature, error)
	GetAverageTemperature() Temperature
	UpdateTemperatureHistory(Temperature) Temperature

	// Fan control
	GetFanControl() FanController
	EnableAutoFanControl() error
	DisableAutoFanControl() error
	GetCurrentFanSpeeds() []FanSpeed
	SetFanSpeed(speed FanSpeed) error
	GetLastFanSpeeds() []FanSpeed
	GetFanSpeedLimits() FanSpeedLimits

	// Power management
	GetPowerControl() PowerController
	GetCurrentPowerLimit() PowerLimit
	SetPowerLimit(PowerLimit) error
	GetPowerLimits() PowerLimits
	UpdatePowerLimitHistory(PowerLimit) PowerLimit
}

Controller manages GPU operations and state

func New

func New(log logger.Logger) (Controller, error)

type FanController

type FanController interface {
	GetSpeed(fanIndex int) (FanSpeed, error)
	GetCurrentSpeeds() []FanSpeed
	GetSpeedLimits() FanSpeedLimits
	EnableAuto() error
	DisableAuto() error
	SetSpeed(speed FanSpeed) error
	IsAutoMode() bool
	GetLastSpeeds() []FanSpeed
}

FanController manages fan operations

type FanSpeed

type FanSpeed int

Domain types for type safety and validation

type FanSpeedLimits

type FanSpeedLimits struct {
	Min, Max, Default FanSpeed
}

Domain types for type safety and validation

type PowerController

type PowerController interface {
	GetLimit() (PowerLimit, error)
	SetLimit(limit PowerLimit) error
	GetLimits() PowerLimits
	GetLastLimit() PowerLimit
	GetCurrentLimit() PowerLimit
	ResetToDefault() error
	UpdateHistory(limit PowerLimit) PowerLimit
}

PowerController manages power operations

type PowerLimit

type PowerLimit int

Domain types for type safety and validation

type PowerLimits

type PowerLimits struct {
	Min, Max, Default PowerLimit
}

Domain types for type safety and validation

type Temperature

type Temperature int

Domain types for type safety and validation

Jump to

Keyboard shortcuts

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