[GUI] Monitor: on a Mac "GPU load" is time busy, not compute in use; VRAM HIT RATE is always a dash
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 66/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- frontend, observability
Línea de trabajo
Empieza rastreando la tarjeta de carga de la GPU y la tabla Recent requests en la GUI. Después, comprueba cómo muestran los campos de telemetría descritos en el issue. Actualiza la etiqueta de carga de la GPU o añade una explicación, y oculta la columna VRAM HIT RATE cuando falte hit_rate o explícalo. El trabajo estará terminado cuando la tarjeta describa con precisión el tiempo de actividad y las filas de Mac ya no muestren un guion sin explicación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Area
[GUI] (the desktop app / web Monitor)
What happened
On a Mac (M5 Max, 40 GPU cores, Strata 0.2.12, engine 0.1.58-metal, Qwen3.8-Flash-Next UD-Q4_K_XL) the Monitor's GPU load card sits at 95-99% for as long as requests keep coming, in both phases:
- reading a prompt (~1,600 tok/s)
- decoding (~85 tok/s)
It reads like "all 40 cores are maxed out", but it isn't that. serve/telemetry.py (_Metal, from #2360) shows IOKit's Device Utilization %, which is the share of time the GPU had work scheduled, not the share of its compute in use. ioreg -r -d 1 -c IOAccelerator gives the same value (95) while the engine decodes. Decode on this machine is bound by memory bandwidth, so the ALUs mostly wait for weights, yet the card still says 99%. This is the same definition as NVML's utilization.gpu ("time a kernel was running"), so the number is correct. Only the label promises more than the number means.
The Recent requests table's VRAM HIT RATE column has the same kind of problem. On a Mac it is – on every row, because the Metal engine reports no expert-cache lookups (hit_rate is None in /metrics: unified memory, every expert is mapped). The column takes space and suggests something is missing.
Expected
The card says what it measures, and Mac-only blanks are explained or hidden.
Proposal (small, GUI only)
- Rename the card to GPU busy, or keep the name and add a subtitle/tooltip: "share of time the GPU had work scheduled; not how much of its compute is in use". This applies to NVML and amdgpu as well, since they use the same definition.
- Hide the VRAM HIT RATE column when no row in the table has a
hit_rate(or when the backend ismetal), or give it a tooltip: "unified memory: every expert is mapped, so there is no VRAM cache to hit". - Optional: next to the busy %, show a load figure that tells "busy" apart from "saturated" during decode. One option is the achieved weight bandwidth (bytes of active weights read per token × decode tok/s) against the chip's peak. Another is GPU power or frequency once #5016 lands.
Related
- #2360: added the Mac reader and
gpu_note - #5457:
gpu_noteis never shown on a Mac, so temp, Power and PCIe are silent dashes - #5016: Apple Silicon GPU temp and power without root
These three cover temp, power and PCIe; this issue covers only the GPU load label and the hit-rate column.
- Lenguaje dominante
- C++
- Estrellas
- 11.6k
- Forks
- 1k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Niko1221/Strata
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Niko1221/Strata#5560 · 2 comentarios ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Niko1221/Strata#5553 · 2 comentarios ·
Los mantenedores suelen responder en 4 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 4 días
-
needs-format
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Niko1221/Strata#5510 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 4 días
Todos los issues de Niko1221/Strata
Issues similares
-
NVIDIA windows
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Abiertokind/bug priority/medium qa_automation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37324 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
CharlotteCross1998/awesome-game-decompilations#61 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
godotengine/godot#125240 ·
Los mantenedores suelen responder en 1 día
-
rombios: CMD needs to be a WORDAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día