@@ -137,16 +137,45 @@ func (m *MonitorService) LoadGPUOptions() dto.MonitorGPUOptions {
137137 return gpuInfo .GPUs [i ].Index < gpuInfo .GPUs [j ].Index
138138 })
139139 for _ , item := range gpuInfo .GPUs {
140+ var chartHide dto.GPUChartHide
141+ chartHide .ProductName = fmt .Sprintf ("%d - %s" , item .Index , item .ProductName )
142+ chartHide .GPU = item .GPUUtil == "" || item .GPUUtil == "N/A"
143+ if (item .MemTotal == "" || item .MemTotal == "N/A" ) && (item .MemUsed == "" || item .MemUsed == "N/A" ) {
144+ chartHide .Memory = true
145+ }
146+ if (item .MaxPowerLimit == "" || item .MaxPowerLimit == "N/A" ) && (item .PowerDraw == "" || item .PowerDraw == "N/A" ) {
147+ chartHide .Power = true
148+ }
149+ chartHide .Temperature = item .Temperature == "" || item .Temperature == "N/A"
150+ chartHide .Speed = item .FanSpeed == "" || item .FanSpeed == "N/A"
151+ data .ChartHide = append (data .ChartHide , chartHide )
140152 data .Options = append (data .Options , fmt .Sprintf ("%d - %s" , item .Index , item .ProductName ))
141153 }
142154 return data
143155 } else {
144156 data .GPUType = "xpu"
145- var err error
146- data .Options , err = xpuClient .LoadDeviceList ()
147- if err != nil || len (data .Options ) == 0 {
157+ xpu , err := xpuClient .LoadGpuInfo ()
158+ if err != nil || len (xpu .Xpu ) == 0 {
148159 global .LOG .Error ("Load XPU info failed or no XPU found, err: " , err )
149160 }
161+ sort .Slice (xpu .Xpu , func (i , j int ) bool {
162+ return xpu .Xpu [i ].Basic .DeviceID < xpu .Xpu [j ].Basic .DeviceID
163+ })
164+ for _ , item := range xpu .Xpu {
165+ var chartHide dto.GPUChartHide
166+ chartHide .GPU = true
167+ chartHide .Speed = true
168+ chartHide .ProductName = fmt .Sprintf ("%d - %s" , item .Basic .DeviceID , item .Basic .DeviceName )
169+ if (item .Stats .MemoryUsed == "" || item .Stats .MemoryUsed == "N/A" ) && (item .Basic .Memory == "" || item .Basic .FreeMemory == "N/A" ) {
170+ chartHide .Memory = true
171+ }
172+ if item .Stats .Power == "" || item .Stats .Power == "N/A" {
173+ chartHide .Power = true
174+ }
175+ chartHide .Temperature = item .Stats .Temperature == "" || item .Stats .Temperature == "N/A"
176+ data .ChartHide = append (data .ChartHide , chartHide )
177+ data .Options = append (data .Options , fmt .Sprintf ("%d - %s" , item .Basic .DeviceID , item .Basic .DeviceName ))
178+ }
150179 return data
151180 }
152181}
@@ -182,8 +211,10 @@ func (m *MonitorService) LoadGPUMonitorData(req dto.MonitorGPUSearch) (dto.Monit
182211 }
183212 var process []dto.GPUProcess
184213 if err := json .Unmarshal ([]byte (gpu .Processes ), & process ); err == nil {
214+ data .ProcessCount = append (data .ProcessCount , len (process ))
185215 data .GPUProcesses = append (data .GPUProcesses , process )
186216 } else {
217+ data .ProcessCount = append (data .ProcessCount , 0 )
187218 data .GPUProcesses = append (data .GPUProcesses , []dto.GPUProcess {})
188219 }
189220 data .SpeedValue = append (data .SpeedValue , gpu .FanSpeed )
0 commit comments