diff --git a/README.md b/README.md index 73ea6cdd0b24c6740e89d9fb98fc6cf927e393a8..30ffc7bce3905bb010ec429aa3c46423d18bfe09 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ Below is the list of the labels generated by IX Feature Discovery and their desc | iluvatar.com/cuda.runtime-version.full=10.2 | Full CUDA runtime version | | iluvatar.com/cuda.runtime-version.major=10 | Major version of CUDA runtime version | | iluvatar.com/cuda.runtime-version.minor=2 | Minor version of CUDA runtime version | +| iluvatar.com/gpu.present=true | Node has GPU available | | iluvatar.com/gpu.machine=X580-G30 | Machine Type | | iluvatar.com/gpu.product=BI-V150S | GPU Model | | iluvatar.com/gpu.count=2 | GPU Count | diff --git a/go.mod b/go.mod index 4821d167f2f2e221df57b6fc8d49769dbcb0576e..ea71c218c2439146e7ff502f020db888fb628b23 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module gitee.com/deep-spark/ix-feature-discovery go 1.22.2 -require gitee.com/deep-spark/go-ixml v0.0.0-20250211103053-213f0580a074 +require gitee.com/deep-spark/go-ixml v0.0.0-20250402060659-7a8e7dc6e049 require ( github.com/urfave/cli/v2 v2.27.5 diff --git a/go.sum b/go.sum index 69874571074c038d03a44d18c7b58bae7ffb0f13..1b457fe2ec762d7b1a80986016229da909e5c7dd 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -gitee.com/deep-spark/go-ixml v0.0.0-20250211103053-213f0580a074 h1:s+mYbmiKhWbzOi2yzlx/+GtMG2z7JDcKNZ6RhemDGic= -gitee.com/deep-spark/go-ixml v0.0.0-20250211103053-213f0580a074/go.mod h1:UBRqak7S0kqCXMu8RTNyFRhoz9qAOPEM5Bl1pB7og8w= +gitee.com/deep-spark/go-ixml v0.0.0-20250402060659-7a8e7dc6e049 h1:Jtw6ZUZc7VEQTgRJ6RB5gQnAY/4ysU7PmKhTBroqqTE= +gitee.com/deep-spark/go-ixml v0.0.0-20250402060659-7a8e7dc6e049/go.mod h1:UBRqak7S0kqCXMu8RTNyFRhoz9qAOPEM5Bl1pB7og8w= github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/pkg/label/ixml.go b/pkg/label/ixml.go index 0d1c4d4d0465bd272fd072a58eef1c423311efc0..113770ad540b09327d7a45cc3fd46ced2ad228ad 100644 --- a/pkg/label/ixml.go +++ b/pkg/label/ixml.go @@ -115,10 +115,13 @@ func newIXResourceLabeler(manager resource.Manager) (Labeler, error) { return nil, fmt.Errorf("error retrieving devices: %v", err) } - // Return an empty labeler if no GPUs are detected + var labelers labelerList if len(devices) == 0 { - klog.Info("No GPUs detected, returning empty labeler") - return empty{}, nil + klog.Info("No GPUs detected, setting gpu.present to false") + labelers = append(labelers, Labels{nodeLabelPrefix + "/gpu.present": "false"}) + } else { + klog.Info("GPUs detected, setting gpu.present to true") + labelers = append(labelers, Labels{nodeLabelPrefix + "/gpu.present": "true"}) } counts := make(map[string]int) @@ -146,8 +149,6 @@ func newIXResourceLabeler(manager resource.Manager) (Labeler, error) { klog.Warningf("Multiple device types detected: %v", names) } - var labelers labelerList - for name, count := range counts { l := Labels{ nodeLabelPrefix + "/gpu.product": name,