package daemon import "tags.cncf.io/container-device-interface/pkg/cdi" // RegisterGPUDeviceDrivers registers GPU device drivers. // If the cdiCache is provided, it is used to detect presence of CDI specs for AMD GPUs. // For NVIDIA GPUs, presence of CDI specs is detected by checking for the nvidia-cdi-hook binary. func RegisterGPUDeviceDrivers(cdiCache *cdi.Cache) { // Register NVIDIA device drivers. if nvidiaDrivers := getNVIDIADeviceDrivers(); len(nvidiaDrivers) > 0 { for name, driver := range nvidiaDrivers { registerDeviceDriver(name, driver) } return } // Register AMD driver if AMD CDI spec or helper binary is present. if amdDriver := getAMDDeviceDrivers(cdiCache); amdDriver != nil { registerDeviceDriver("amd", amdDriver) return } }