Documentation
¶
Overview ¶
Package gpu provides GPU SKU classification helpers for AKS node provisioning.
Index ¶
Constants ¶
const Nvidia470CudaDriverVersion = "cuda-470.82.01"
Variables ¶
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.
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, }
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 ¶
GPUNeedsFabricManager reports whether the VM size requires NVIDIA Fabric Manager.
func GetGPUDriverType ¶
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 ¶
IsStandardNCv1 reports whether the VM size is a legacy NCv1 (K80) SKU.
func UseGridDrivers ¶
UseGridDrivers reports whether the VM size requires GRID drivers.
func UseGridV20Drivers ¶
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.