gpu

package
v0.20260811744695428.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package gpu provides GPU SKU classification helpers for AKS node provisioning.

Index

Constants

View Source
const Nvidia470CudaDriverVersion = "cuda-470.82.01"

Variables

View Source
var ConvergedGPUDriverSizes = map[string]bool{
	"standard_nv6ads_a10_v5":   true,
	"standard_nv12ads_a10_v5":  true,
	"standard_nv18ads_a10_v5":  true,
	"standard_nv36ads_a10_v5":  true,
	"standard_nv72ads_a10_v5":  true,
	"standard_nv36adms_a10_v5": true,
	"standard_nc8ads_a10_v4":   true,
	"standard_nc16ads_a10_v4":  true,
	"standard_nc32ads_a10_v4":  true,
}
ConvergedGPUDriverSizes : these sizes use a "converged" driver to support both cuda/grid workloads.

see https://github.com/Azure/azhpc-extensions/blob/daaefd78df6f27012caf30f3b54c3bd6dc437652/NvidiaGPU/resources.json

View Source
var FabricManagerGPUSizes = map[string]bool{

	"standard_nd96asr_v4":        true,
	"standard_nd112asr_a100_v4":  true,
	"standard_nd120asr_a100_v4":  true,
	"standard_nd96amsr_a100_v4":  true,
	"standard_nd112amsr_a100_v4": true,
	"standard_nd120amsr_a100_v4": true,
	"standard_nd96ams_a100_v4":   true,
	"standard_nd96ams_v4":        true,

	"standard_nd46s_h100_v5":    true,
	"standard_nd48s_h100_v5":    true,
	"standard_nd50s_h100_v5":    true,
	"standard_nd92is_h100_v5":   true,
	"standard_nd96is_h100_v5":   true,
	"standard_nd100is_h100_v5":  true,
	"standard_nd92isr_h100_v5":  true,
	"standard_nd96isr_h100_v5":  true,
	"standard_nd100isr_h100_v5": true,

	"standard_nd96is_h200_v5":   true,
	"standard_nd96isr_h200_v5":  true,
	"standard_nd96isrf_h200_v5": true,

	"standard_nc24ads_a100_v4": false,
	"standard_nc48ads_a100_v4": false,
	"standard_nc96ads_a100_v4": false,
}
View Source
var RTXPro6000GPUDriverSizes = map[string]bool{
	"standard_nc24lds_xl_rtxpro6000bse_v6":  true,
	"standard_nc36ds_xl_rtxpro6000bse_v6":   true,
	"standard_nc36lds_xl_rtxpro6000bse_v6":  true,
	"standard_nc72ds_xl_rtxpro6000bse_v6":   true,
	"standard_nc72lds_xl_rtxpro6000bse_v6":  true,
	"standard_nc144ds_xl_rtxpro6000bse_v6":  true,
	"standard_nc144lds_xl_rtxpro6000bse_v6": true,
	"standard_nc288ds_xl_rtxpro6000bse_v6":  true,
	"standard_nc288lds_xl_rtxpro6000bse_v6": true,

	"standard_nc128ds_xl_rtxpro6000bse_v6":  true,
	"standard_nc128lds_xl_rtxpro6000bse_v6": true,
	"standard_nc256ds_xl_rtxpro6000bse_v6":  true,
	"standard_nc256lds_xl_rtxpro6000bse_v6": true,
	"standard_nc320ds_xl_rtxpro6000bse_v6":  true,
	"standard_nc320lds_xl_rtxpro6000bse_v6": true,
}

RTXPro6000GPUDriverSizes : SKUs requiring the GRID v20 (595.x) driver.

Functions

func GPUNeedsFabricManager

func GPUNeedsFabricManager(size string) bool

GPUNeedsFabricManager reports whether the VM size requires NVIDIA Fabric Manager.

func GetGPUDriverType

func GetGPUDriverType(size string) string

GetGPUDriverType maps a GPU VM size to the aks-gpu image variant. NV series GPUs target graphics workloads vs NC which targets compute.

func IsStandardNCv1

func IsStandardNCv1(size string) bool

IsStandardNCv1 reports whether the VM size is a legacy NCv1 (K80) SKU.

func UseGridDrivers

func UseGridDrivers(size string) bool

UseGridDrivers reports whether the VM size requires GRID drivers.

func UseGridV20Drivers

func UseGridV20Drivers(size string) bool

UseGridV20Drivers reports whether the SKU needs the GRID v20 (595.x) driver.

Types

type GPUConfiguration

type GPUConfiguration struct {
	NvidiaCudaDriverVersion    string
	NvidiaCudaLTSDriverVersion string
	NvidiaGridDriverVersion    string
	NvidiaGridV20DriverVersion string
	AKSGPUCudaVersionSuffix    string
	AKSGPUCudaLTSVersionSuffix string
	AKSGPUGridVersionSuffix    string
	AKSGPUGridV20VersionSuffix string
}

GPUConfiguration holds the NVIDIA driver versions and AKS GPU image suffixes parsed from components.json. Load one with LoadConfig and pass it explicitly to the methods below; there is no shared/global state.

func LoadConfig

func LoadConfig(data []byte) (*GPUConfiguration, error)

LoadConfig parses GPU driver versions from the raw JSON content of components.json and returns a GPUConfiguration. Callers should propagate the error explicitly rather than ignoring it; there is no fallback global state to silently fall back to.

func (*GPUConfiguration) GetAKSGPUImageSHA

func (c *GPUConfiguration) GetAKSGPUImageSHA(size string) string

GetAKSGPUImageSHA returns the image version suffix for the appropriate GPU container image. It is safe to call on a nil receiver, returning "" in that case.

func (*GPUConfiguration) GetGPUDriverVersion

func (c *GPUConfiguration) GetGPUDriverVersion(size string) string

GetGPUDriverVersion returns the NVIDIA driver version string for a given VM size. It is safe to call on a nil receiver (e.g. when no GPUConfiguration was loaded), in which case it returns the zero value for any driver version sourced from components.json, while SKU-only lookups (like the pinned NCv1 470 driver) still work.

Jump to

Keyboard shortcuts

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