in pkg/gpu/nvidia/nvidia.go [22:56]
func getVGPUDevices(vGPUCount int) []*pluginapi.Device {
n, err := nvml.GetDeviceCount()
check(err)
var devs []*pluginapi.Device
for i := uint(0); i < n; i++ {
d, err := nvml.NewDevice(i)
check(err)
log.Printf("Device Memory: %d, vGPU Count: %d", uint(*d.Memory), vGPUCount)
for j := uint(0); j < uint(vGPUCount); j++ {
vGPUDeviceID := getVGPUID(d.UUID, j)
dev := pluginapi.Device{
ID: vGPUDeviceID,
Health: pluginapi.Healthy,
}
// TODO: Enable Affinity for kubernetes > 1.16.x
//if d.CPUAffinity != nil {
// dev.Topology = &pluginapi.TopologyInfo{
// Nodes: []*pluginapi.NUMANode{
// &pluginapi.NUMANode{
// ID: int64(*(d.CPUAffinity)),
// },
// },
// }
//}
devs = append(devs, &dev)
}
}
return devs
}