Skip to content

Commit 2b110f6

Browse files
committed
merge
2 parents 56359fc + d109742 commit 2b110f6

File tree

8 files changed

+1090
-0
lines changed

8 files changed

+1090
-0
lines changed

locales/README.de.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
<!-- HTML_BLOCK:1... -->
2+
<div align="center">
3+
<a href="../README.md">🇺🇸 English</a> |
4+
<a href="../locales/README.de.md">🇩🇪 Deutsch</a> |
5+
<a href="../locales/README.ru.md">🇷🇺 Русский</a> |
6+
<a href="../locales/README.fr.md">🇫🇷 Français</a> |
7+
<a href="../locales/README.es.md">🇪🇸 Español</a> |
8+
<a href="../locales/README.ja.md">🇯🇵 日本語</a> |
9+
<a href="../locales/README.zh.md">🇨🇳 中文</a> |
10+
<a href="../locales/README.pt.md">🇵🇹 Português</a> |
11+
<a href="../locales/README.ko.md">🇰🇷 한국어</a> |
12+
<a href="../locales/README.hi.md">🇮🇳 हिंदी</a>
13+
</div>
14+
<!-- HTML_BLOCK:2... -->
15+
<div style="text-align:center; margin:18px 0;">
16+
<img src="../monitor/api/static/logo.png" alt="MyGPU logo"/>
17+
</div>
18+
<!-- HTML_BLOCK:... -->
19+
20+
> *MyGPU: Ein leichtgewichtiges GPU-Verwaltungstool: ein kompakter `nvidia-smi`-Wrapper mit einer eleganten Web-Dashboard-Schnittstelle.*
21+
22+
## Galerie
23+
24+
<details>
25+
26+
<summary>
27+
Web-Dashboard
28+
</summary>
29+
30+
<div style="display:flex; overflow-x:auto; gap:10px; padding:12px 0; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;">
31+
<!-- Verwenden Sie das erste Bild mit einem Seitenverhältnis von 1624x675 für den Slide-Rahmen; Bilder passen sich mit object-fit:contain innerhalb an -->
32+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
33+
<img src="../monitor/api/static/web1.png" style="width:100%; height:100%; object-fit:contain;" />
34+
</div>
35+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
36+
<img src="../monitor/api/static/web2.png" style="width:100%; height:100%; object-fit:contain;" />
37+
</div>
38+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
39+
<img src="../monitor/api/static/web3.png" style="width:100%; height:100%; object-fit:contain;" />
40+
</div>
41+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
42+
<img src="../monitor/api/static/web4.png" style="width:100%; height:100%; object-fit:contain;" />
43+
</div>
44+
</div>
45+
46+
</details>
47+
<details>
48+
<summary>CLI</summary>
49+
<div style="display:flex; overflow-x:auto; gap:10px; padding:12px 0; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;">
50+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
51+
<img src="../monitor/api/static/cli1.png" style="width:100%; height:100%; object-fit:contain;" />
52+
</div>
53+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
54+
<img src="../monitor/api/static/cli2.png" style="width:100%; height:100%; object-fit:contain;" />
55+
</div>
56+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
57+
<img src="../monitor/api/static/cli3.png" style="width:100%; height:100%; object-fit:contain;" />
58+
</div>
59+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
60+
<img src="../monitor/api/static/cli4.png" style="width:100%; height:100%; object-fit:contain;" />
61+
</div>
62+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
63+
<img src="../monitor/api/static/cli5.png" style="width:100%; height:100%; object-fit:contain;" />
64+
</div>
65+
</div>
66+
</details>
67+
68+
### Warum diese Nutzung?
69+
70+
- **Leichtgewichtig**: Minimale Ressourcenbelastung.
71+
- **Flexibel**: Als CLI-Tool, oder als vollständige Web-Dashboard-Schnittstelle verfügbar.
72+
- **Admin-zentriert**: Enthält Funktionen wie **VRAM-Enforcement** (Automatische Beendigung von Prozessen, die VRAM-Richtlinien verletzen) und **Watchlists**.
73+
- **Entwicklerfreundlich**: Integrierte Benchmarking- und Stresstest-Tools (GEMM, Teilchenphysik) zur Validierung der Systemstabilität.
74+
75+
---
76+
77+
### Warum MyGPU?
78+
79+
- **Echtzeit-Überwachung**:
80+
- Detaillierte GPU-Metriken (Nutzung, VRAM, Temperatur).
81+
- Systemmetriken (CPU, RAM, usw.).
82+
83+
- **Admin- und Durchsetzungsfunktionen**:
84+
- **VRAM-Limits**: Legen Sie harte Grenzen für die VRAM-Nutzung pro GPU fest.
85+
- **Automatische Beendigung**: Automatisch beenden Sie Prozesse, die VRAM-Richtlinien verletzen (nur für Administratoren).
86+
- **Watchlists**: Überwachen Sie spezifische PIDs oder Prozessnamen.
87+
88+
- **Benchmarking & Simulation**:
89+
- **Stresstest**: Konfigurierbare GEMM-Lasten zum Testen der thermischen Throttling und Stabilität.
90+
- **Visuelle Simulation**: Interaktive 3D-Teilchenphysik-Simulation zur Visualisierung der GPU-Last.
91+
92+
---
93+
94+
## Roadmap & zukünftige Arbeiten
95+
96+
Beiträge sind willkommen! Die Hauptpunkte, die in der Zukunft abgedeckt werden sollen, sind:
97+
98+
- **Multi-GPU-Unterstützung**: Verbesserte Handhabung für Multi-Karten-Setups und NVLink-Topologien.
99+
- **Containerisierung**: Offizielle Docker-Unterstützung für eine einfache Bereitstellung in Containerumgebungen.
100+
- **Remote-Zugriff**: SSH-Tunnel-Integration und sicherer Remote-Management.
101+
- **Plattformübergreifend**:
102+
- [ ] Linux-Unterstützung (Ubuntu/Debian-Fokus).
103+
- [ ] macOS-Unterstützung (Apple Silicon-Überwachung).
104+
- **Hardware-agnostisch**:
105+
- [ ] AMD ROCm-Unterstützung.
106+
- [ ] Intel Arc-Unterstützung.
107+
- ~~**Mehrsprachige Dokumentation**: Unterstützung der beliebtesten GitHub-Sprachen.~~
108+
109+
Siehe [CONTRIBUTING.md](../CONTRIBUTING.md), um herauszufinden, wie du dich einbringen kannst.
110+
111+
---
112+
113+
## Anforderungen
114+
115+
- **OS**: Windows 10/11
116+
- **Python**: 3.10+
117+
- **Hardware**: NVIDIA-GPU mit installierten Treibern.
118+
- **CUDA**: Toolkit 12.x (Streng erforderlich für Benchmarking/Simulation-Funktionen).
119+
- *Hinweis: Wenn CUDA 12.x nicht erkannt wird, werden GPU-spezifische Benchmarking-Funktionen deaktiviert.*
120+
121+
---
122+
123+
## Installation
124+
125+
Das Tool unterstützt eine modulare Installation, um Ihren Bedürfnissen gerecht zu werden:
126+
127+
### 1. Minimale Installation (nur CLI)
128+
129+
Am besten für Headless-Server oder Hintergrundüberwachung geeignet.
130+
131+
- Befehlszeileninterface.
132+
- Grundlegende System-/GPU-Metriken.
133+
134+
### 2. Standardinstallation (CLI + Web-UI)
135+
136+
Am besten für die meisten Benutzer geeignet.
137+
138+
- Enthält Web-Dashboard.
139+
- REST-API-Endpunkte.
140+
- Echtzeit-Diagramme.
141+
- Aber keine Simulation oder Benchmarking.
142+
143+
### 3. Vollständige Installation (Standard + Visualisierung)
144+
145+
Am besten für Entwicklung und Stresstest geeignet.
146+
147+
- Enthält Simulation.
148+
- Abhängigkeiten für PyTorch/CuPy für Benchmarking.
149+
150+
### Schnelle Startanleitung
151+
152+
1. **Laden** Sie die neueste Version herunter oder klonen Sie das Repository.
153+
2. **Führen Sie die Setup-Skript aus**:
154+
155+
```powershell
156+
.\setup.ps1
157+
```
158+
159+
3. **Starten** Sie:
160+
161+
```powershell
162+
# Starten Sie das Web-Dashboard (Standard/Vollständig)
163+
python health_monitor.py web
164+
165+
# Starten Sie die CLI
166+
python health_monitor.py cli
167+
```
168+
169+
---
170+
171+
## Lizenz
172+
173+
MIT-Lizenz. Siehe [LICENSE](../LICENSE) für Details.

locales/README.es.md

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
<!-- HTML_BLOCK:1... -->
2+
<div align="center">
3+
<a href="../README.md">🇺🇸 Inglés</a> |
4+
<a href="../locales/README.de.md">🇩🇪 Alemán</a> |
5+
<a href="../locales/README.ru.md">🇷🇺 Ruso</a> |
6+
<a href="../locales/README.fr.md">🇫🇷 Francés</a> |
7+
<a href="../locales/README.es.md">🇪🇸 Español</a> |
8+
<a href="../locales/README.ja.md">🇯🇵 Japonés</a> |
9+
<a href="../locales/README.zh.md">🇨🇳 Chino</a> |
10+
<a href="../locales/README.pt.md">🇵🇹 Portugués</a> |
11+
<a href="../locales/README.ko.md">🇰🇷 Coreano</a> |
12+
<a href="../locales/README.hi.md">🇮🇳 Hindi</a>
13+
</div>
14+
<!-- HTML_BLOCK:2... -->
15+
<div style="text-align:center; margin:18px 0;">
16+
<img src="../monitor/api/static/logo.png" alt="MyGPU logo"/>
17+
</div>
18+
<!-- HTML_BLOCK:... -->
19+
20+
> *MyGPU: Utilidad de gestión de GPU ligera: un envoltorio compacto de `nvidia-smi` con un elegante tablero web.*
21+
22+
<!-- HTML_BLOCK: no change to url; output entire as it is... -->
23+
![Licencia](https://img.shields.io/badge/licencia-MIT-blue.svg)
24+
![Python](https://img.shields.io/badge/python-3.10%2B-blue)
25+
![Versión](https://img.shields.io/badge/versión-1.2.3-blue)
26+
![Plataforma](https://img.shields.io/badge/plataforma-Windows-lightgrey)
27+
![cuda 12.x](https://img.shields.io/badge/CUDA-12.x-0f9d58?logo=nvidia)
28+
29+
## Galería
30+
31+
<details>
32+
33+
<summary>
34+
Tablero web
35+
</summary>
36+
37+
<div style="display:flex; overflow-x:auto; gap:10px; padding:12px 0; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;">
38+
<!-- Utilizar la relación de aspecto 1624x675 para el marco de la diapositiva; las imágenes se ajustan automáticamente con object-fit:contain -->
39+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
40+
<img src="../monitor/api/static/web1.png" style="width:100%; height:100%; object-fit:contain;" />
41+
</div>
42+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
43+
<img src="../monitor/api/static/web2.png" style="width:100%; height:100%; object-fit:contain;" />
44+
</div>
45+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
46+
<img src="../monitor/api/static/web3.png" style="width:100%; height:100%; object-fit:contain;" />
47+
</div>
48+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
49+
<img src="../monitor/api/static/web4.png" style="width:100%; height:100%; object-fit:contain;" />
50+
</div>
51+
</div>
52+
53+
</details>
54+
<details>
55+
<summary>CLI</summary>
56+
<div style="display:flex; overflow-x:auto; gap:10px; padding:12px 0; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;">
57+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
58+
<img src="../monitor/api/static/cli1.png" style="width:100%; height:100%; object-fit:contain;" />
59+
</div>
60+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
61+
<img src="../monitor/api/static/cli2.png" style="width:100%; height:100%; object-fit:contain;" />
62+
</div>
63+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
64+
<img src="../monitor/api/static/cli3.png" style="width:100%; height:100%; object-fit:contain;" />
65+
</div>
66+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
67+
<img src="../monitor/api/static/cli4.png" style="width:100%; height:100%; object-fit:contain;" />
68+
</div>
69+
<div style="flex:0 0 100%; scroll-snap-align:center; aspect-ratio:1624/675; display:flex; align-items:center; justify-content:center;">
70+
<img src="../monitor/api/static/cli5.png" style="width:100%; height:100%; object-fit:contain;" />
71+
</div>
72+
</div>
73+
</details>
74+
75+
### ¿Por qué usar esto?
76+
77+
- **Ligero**: Bajo consumo de recursos.
78+
- **Versátil**: Funciona como herramienta de línea de comandos, o como un completo tablero web.
79+
- **Orientado a la administración**: Incluye características como **límites de VRAM** (cierre automático de procesos que excedan los límites) y **listas de vigilancia**.
80+
- **Amigable con el desarrollador**: Incorporado en herramientas de prueba y simulación (GEMM, física de partículas) para validar la estabilidad del sistema.
81+
82+
---
83+
84+
## Características
85+
86+
- **Monitoreo en tiempo real**:
87+
- Métricas detalladas de GPU (utilización, VRAM, potencia, temperatura).
88+
- Métricas del sistema (CPU, RAM, etc.).
89+
90+
- **Administración y aplicación de políticas**:
91+
- **Límites de VRAM**: Establecer límites duros de uso de VRAM por GPU.
92+
- **Cierre automático**: Automatizar el cierre de procesos que violen las políticas de VRAM (solo para administradores).
93+
- **Listas de vigilancia**: Monitorear PIDs o nombres de procesos específicos.
94+
95+
- **Pruebas y simulación**:
96+
- **Pruebas de estrés**: Configurar cargas de trabajo GEMM para probar el rendimiento térmico y la estabilidad.
97+
- **Simulación visual**: Simulación interactiva de física de partículas para visualizar la carga de GPU.
98+
99+
---
100+
101+
## Roadmap y trabajo futuro
102+
103+
Las contribuciones son bienvenidas. Los puntos principales a cubrir serían:
104+
105+
- **Soporte multi-GPU**: Mejorar el manejo de configuraciones multi-tarjeta y topologías NVLink.
106+
- **Contenedorización**: Soporte oficial para Docker para una fácil implementación en entornos contenedorizados.
107+
- **Acceso remoto**: Integración de túneles SSH y gestión remota segura.
108+
- **Plataforma cruzada**:
109+
- [ ] Soporte para Ubuntu/Debian (foco en Linux).
110+
- [ ] Soporte para Apple Silicon (monitoreo).
111+
- **Independencia de hardware**:
112+
- [ ] Soporte para AMD ROCm.
113+
- [ ] Soporte para Intel Arc.
114+
- ~~**Documentación multilingüe**: Apoyar los lenguajes de documentación más populares de GitHub.~~
115+
116+
Consulte [CONTRIBUTING.md](../CONTRIBUTING.md) para saber cómo involucrarse.
117+
118+
---
119+
120+
## Requisitos
121+
122+
- **OS**: Windows 10/11
123+
- **Python**: 3.10+
124+
- **Hardware**: GPU NVIDIA con controladores instalados.
125+
- **CUDA**: Versión 12.x (Requerida estrictamente para las características de benchmarking/simulación).
126+
- *Nota: Si CUDA 12.x no se detecta, las características de benchmarking se desactivarán.*
127+
128+
---
129+
130+
## Instalación
131+
132+
La herramienta admite una instalación modular para adaptarse a sus necesidades:
133+
134+
### 1. Mínimo (solo CLI)
135+
136+
Ideal para servidores sin cabeza o monitoreo en segundo plano.
137+
138+
- Interfaz de línea de comandos.
139+
- Métricas básicas del sistema y GPU.
140+
141+
### 2. Estándar (CLI + Tablero web)
142+
143+
Ideal para la mayoría de los usuarios.
144+
145+
- Incluye el tablero web.
146+
- Puntos finales de API REST.
147+
- Gráficos en tiempo real.
148+
- Pero sin simulación ni benchmarking.
149+
150+
### 3. Completo (Estándar + Visualización)
151+
152+
Ideal para el desarrollo y las pruebas de estrés.
153+
154+
- Incluye simulación.
155+
- Dependencias de PyTorch/CuPy para benchmarking.
156+
157+
### Inicio rápido
158+
159+
1. **Descargar** la última versión o clonar el repositorio.
160+
2. **Ejecutar el script de configuración**:
161+
162+
```powershell
163+
.\setup.ps1
164+
```
165+
166+
3. **Iniciar**:
167+
168+
```powershell
169+
# Iniciar el tablero web (Estándar/Completo)
170+
python health_monitor.py web
171+
172+
# Iniciar la CLI
173+
python health_monitor.py cli
174+
```

0 commit comments

Comments
 (0)