## 📋 RĂ©sumĂ© Complet du Thread --- ## đŸ–„ïž Infrastructure |Machine|IP|RĂŽle|GPU/CPU| |---|---|---|---| |**folzo-Corp**|192.168.1.11|PC gaming / STT+TTS|AMD RX 7800 XT (gfx1100)| |**effi-server**|192.168.1.27|Serveur IA principal|CPU Intel 4 cores / 7.6GB RAM| |**PC Gaming Ollama**|variable|LLM Ollama|GPU dĂ©diĂ©| --- ## 🎯 Objectif du Thread Faire tourner Whisper (STT) sur la RX 7800 XT de folzo-Corp via ROCm, en construisant CTranslate2-ROCm depuis les sources (speaches), puis migrer le TTS (openedai-speech) d'effi-server vers folzo-Corp pour libĂ©rer le CPU. --- ## 🔹 Étapes RĂ©alisĂ©es ## 1. Build CTranslate2-ROCm pour speaches **ProblĂšme initial :** `RuntimeError: Conv1D on GPU currently requires the cuDNN library which is not integrated in this build` **Cause :** CTranslate2-ROCm compilĂ© sans support MIOpen (Ă©quivalent ROCm de cuDNN) **Solution :** Dockerfile custom `~/speaches/src/Dockerfile.rocm-ct2` avec : text `-DWITH_CUDNN=ON -DCUDnn_INCLUDE_DIR=/opt/rocm-6.3.4/include -DCUDnn_LIBRARY=/opt/rocm-6.3.4/lib/libMIOpen.so` Image base : `rocm/dev-ubuntu-24.04:6.3.4-complete` Source CTranslate2 : `github.com/arlo-phoenix/CTranslate2-rocm` --- ## 2. Erreur Architecture GPU Incorrecte **ProblĂšme :** `RuntimeError: parallel_for failed: hipErrorInvalidDeviceFunction: invalid device function` **Cause :** Build compilĂ© pour `gfx1101` mais la RX 7800 XT est `gfx1100` **Diagnostic :** bash `docker run --device /dev/kfd --device /dev/dri \ -e HSA_OVERRIDE_GFX_VERSION=11.0.0 speaches:rocm-ct2 \ /opt/rocm-6.3.4/bin/rocminfo | grep -E "gfx|Name" # → gfx1100 (AMD Radeon RX 7800 XT)` **Fix :** bash `sed -i 's/gfx1101/gfx1100/g' ~/speaches/src/Dockerfile.rocm-ct2 cd ~/speaches/src docker build -f Dockerfile.rocm-ct2 -t speaches:rocm-ct2 .` --- ## 3. Transcription fonctionnelle (CPU en attendant rebuild) AprĂšs le premier build, speaches fonctionne en CPU (fallback) : - `200 OK` sur `/v1/audio/transcriptions` - Langue `fr` dĂ©tectĂ©e Ă  99% - RTF > 1 (13s pour 5.4s audio) → confirme CPU, pas GPU - ONNX Runtime cherche `libcublasLt.so.12` (CUDA) → warning non bloquant, fallback CPU automatique **Rebuild avec gfx1100 en cours** pour activer l'accĂ©lĂ©ration GPU (~10x plus rapide attendu). --- ## 4. ProblĂšme rĂ©seau effi-server **SymptĂŽmes :** Interface filaire effi-server plantĂ©e aprĂšs reboot, OpenWebUI inaccessible **Diagnostic :** text `conflict detected for IP address 192.168.1.11 with host 5C:87:9C:65:95:23` **Cause :** Conflit DHCP — deux machines avec la mĂȘme IP `192.168.1.11` **Fix court terme :** `nmcli device disconnect enp6s0 && nmcli device connect enp6s0` **Fix permanent recommandĂ© :** RĂ©servations DHCP par MAC sur le routeur + `ethtool wol g` pour la carte Realtek RTL8111 --- ## 5. OpenWebUI lent / erreurs 500 **SymptĂŽmes :** `500: Open WebUI: Server Connection Error`, lenteur UI **Diagnostic :** text `ERROR: open_webui.routers.ollama: Connection error` **Cause :** Ollama inaccessible — le PC gaming Ă©tait Ă©teint. Le `wol-proxy` sur effi-server assure le Wake-on-LAN mais le PC n'avait pas rĂ©pondu Ă  temps. **Architecture WOL :** text `OpenWebUI → port 3011 effi → wol-proxy → WOL magic packet → PC Gaming → proxy TCP vers 11434` --- ## 6. Deux processus zombies sur effi-server DĂ©tectĂ©s via `ps aux` : text `[mcpo] [python] ` **Fix :** bash `docker restart mcpo` --- ## 7. Migration openedai-speech → folzo-Corp **Raison :** `openedai-speech` consommait ~100% CPU sur effi-server (1.06GB RAM, CPU intensif) **Étapes :** bash `# ArrĂȘt sur effi docker compose stop openedai-speech && docker compose rm -f openedai-speech # Copie des donnĂ©es depuis folzo-Corp scp -r effi@192.168.1.27:~/effi/tts-voices ~/openedai-speech/ scp -r effi@192.168.1.27:~/effi/tts-config ~/openedai-speech/` **Contenu transfĂ©rĂ© :** modĂšles XTTS (~1.8GB), voix WAV (alloy/echo/nova/shimmer/fable/onyx), modĂšles ONNX piper, configs YAML **ProblĂšme group_add :** `Unable to find group render: no matching entries in group file` **Fix :** Utiliser GID numĂ©riques au lieu des noms : text `group_add: - "44" # video - "991" # render` --- ## 📁 Fichiers ClĂ©s text `folzo-Corp: ├── ~/speaches/ │ ├── src/Dockerfile.rocm-ct2 # Build CTranslate2 gfx1100 + MIOpen │ └── docker-compose.yml # speaches-stt:8200 └── ~/openedai-speech/ ├── docker-compose.yml # TTS ROCm gfx1100 ├── tts-voices/ # Voix XTTS + ONNX └── tts-config/ # voice_to_speaker.yaml etc. effi-server: └── ~/effi/docker-compose.yml # OpenWebUI + WOL + n8n + qdrant...` --- ## ✅ État Final des Services |Service|HĂŽte|Port|État|Notes| |---|---|---|---|---| |**speaches-stt**|folzo-Corp|8200|✅ Fonctionne|CPU actuellement, rebuild gfx1100 pending| |**openedai-speech**|folzo-Corp|8100|✅ DĂ©marrĂ©|ROCm gfx1100, group_add 44+991| |**OpenWebUI**|effi-server|3000|✅ Fonctionne|PointĂ© STT+TTS vers 192.168.1.11| |**wol-proxy**|effi-server|3011|✅ Fonctionne|Proxy Ollama + WOL PC gaming| |**n8n**|effi-server|5678|✅ Running|| |**qdrant**|effi-server|6333|✅ Running|Vector store RAG| |**pipelines**|effi-server|9099|✅ Running|mem0 memory| |**couchdb**|effi-server|5984|✅ Running|Obsidian LiveSync| |**mcpo**|effi-server|8000|⚠ Zombie dĂ©tectĂ©|RedĂ©marrĂ©| --- ## 🔜 Prochaines Étapes 1. **Finaliser rebuild speaches gfx1100** → activer GPU sur Whisper large-v3 2. **Tester TTS ROCm** → vĂ©rifier que openedai-speech utilise bien la RX 7800 XT 3. **Mettre Ă  jour l'URL TTS** dans OpenWebUI Admin → Audio → `http://192.168.1.11:8100` 4. **RĂ©servations DHCP** sur le routeur pour fixer les IPs de façon permanente 5. **Tester pipeline vocal complet** : micro → STT folzo → OpenWebUI effi → LLM Ollama → TTS folzo → speaker