# llama.cpp + Gemma-4-12B (Vision) - VULKAN-Backend statt ROCm. # # Grund fuer den Wechsel: Gemma-4-Vision unter ROCm geraet in eine # Endlosschleife (-Flood, llama.cpp Issue #21416) - ein ROCm-Backend-Bug. # Der Report bestaetigt: "With vulkan it works on the same hardware." # Gleiche Karte (R9700), gleiches Modell, gleicher Client - nur Backend anders. # # Wichtige Unterschiede zu ROCm: # - KEIN /dev/kfd noetig (Vulkan nutzt den Grafik-Stack, nicht ROCm-Compute) # - Gruppe 'render' zusaetzlich (Zugriff auf /dev/dri/renderD*) # - --device Vulkan0 explizit, sonst evtl. CPU-Fallback (llvmpipe) # # Laeuft ALLEIN auf der GPU (Qwen vorher stoppen). # # Start: docker compose -f docker-compose-llama-gemma12b.yml up -d # Logs: docker compose -f docker-compose-llama-gemma12b.yml logs -f services: llamacpp-gemma12b: image: ghcr.io/ggml-org/llama.cpp:server-vulkan container_name: llamacpp-gemma12b restart: unless-stopped init: true devices: - /dev/dri:/dev/dri group_add: - video - "991" # GID der render-Gruppe (getent group render -> 991) security_opt: - seccomp=unconfined ipc: host environment: # Nur die erste (einzige) GPU sichtbar machen; CPU-Fallback vermeiden - GGML_VK_VISIBLE_DEVICES=0 ports: - "8000:8080" volumes: - ~/.cache/llama.cpp:/root/.cache/llama.cpp command: - -hf - unsloth/gemma-4-12b-it-GGUF:UD-Q4_K_XL - --host - 0.0.0.0 - --port - "8080" - --device - Vulkan0 - -ngl - "99" - --ctx-size - "8192" - --parallel - "1" - --jinja - --reasoning - "off" - --cache-ram - "0" - --ctx-checkpoints - "0" - --alias - gemma-4-12b