refactor: integrate Olares daemon's code & CI into main repo (#1381)

This commit is contained in:
dkeven
2025-06-03 17:37:37 +08:00
committed by GitHub
parent a48de4efd4
commit 7cecd9d360
125 changed files with 10119 additions and 6 deletions

View File

@@ -0,0 +1,42 @@
//go:build linux
// +build linux
package utils
import (
"fmt"
"strings"
"github.com/jaypipes/ghw"
"k8s.io/klog/v2"
"k8s.io/utils/ptr"
)
func GetGpuInfo() (*string, error) {
gpu, err := ghw.GPU()
if err != nil {
klog.Errorf("Error getting GPU info: %v", err)
return nil, err
}
var first string
for _, card := range gpu.GraphicsCards {
if card.DeviceInfo == nil || card.DeviceInfo.Vendor == nil || card.DeviceInfo.Product == nil {
continue
}
info := fmt.Sprintf("%s %s", card.DeviceInfo.Vendor.Name, card.DeviceInfo.Product.Name)
if strings.Contains(strings.ToLower(info), "nvidia") {
return ptr.To(info), nil
}
if first == "" {
first = info
}
}
if first == "" {
return nil, nil
}
return ptr.To(first), nil
}