in ecs-init/gpu/nvidia_gpu_manager.go [167:186]
func (n *NvidiaGPUManager) GetGPUDeviceIDs() ([]string, error) {
count, err := NvmlGetDeviceCount()
if err != nil {
return nil, errors.Wrapf(err, "error getting GPU device count for UUID detection")
}
var gpuIDs []string
var i uint
for i = 0; i < count; i++ {
device, err := NvmlNewDeviceLite(i)
if err != nil {
seelog.Errorf("error initializing device of index %d: %v", i, err)
continue
}
gpuIDs = append(gpuIDs, device.UUID)
}
if len(gpuIDs) == 0 {
return gpuIDs, errors.New("error initializing GPU devices")
}
return gpuIDs, nil
}