Aller au contenu

Trace install tas - Ollama

De Loic Wiki

Trace install tas - Ollama

Rôle

API locale de modèles LLM avec deux instances distinctes :

  • une instance AMD/ROCm sur la Radeon RX 7900
  • une instance NVIDIA/CUDA sur la GeForce RTX 3070

Accès

Instance AMD / ROCm

Instance NVIDIA / CUDA

Ports

  • 11434/tcp : serveur Ollama AMD / ROCm
  • 11435/tcp : serveur Ollama NVIDIA / CUDA
  • 25434/tcp : proxy public Caddy vers l'instance AMD/ROCm, protégé par basicauth

Exécution / runtime

AMD / ROCm

  • Service systemd user : `/home/loic/.config/systemd/user/ollama.service`
  • Conteneur : `ollama_roc`
  • Image : `docker.io/ollama/ollama:rocm`
  • Devices : `/dev/kfd`, `/dev/dri`

NVIDIA / CUDA

  • Service systemd user : `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • Conteneur : `ollama_nv`
  • Image : `docker.io/ollama/ollama:latest`
  • Intégration GPU : Podman + NVIDIA Container Toolkit + CDI
  • Device CDI utilisé : `nvidia.com/gpu=all`

Chemins de configuration

  • `/home/loic/.config/systemd/user/ollama.service`
  • `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • `/etc/caddy/Caddyfile`
  • `/home/loic/.bashrc` (alias CLI)
  • `/home/loic/upgrade/ollama-dual-gpu-plan.md`

Volumes / persistance

  • Stockage modèles partagé entre les deux instances : `/media/loic/nem/ollama`
  • Montage conteneur : `/media/loic/nem/ollama -> /root/.ollama`

Dépendances

  • Caddy 25434 -> 11434 avec basicauth pour l'instance AMD/ROCm
  • NVIDIA driver 580 open pour la RTX 3070
  • NVIDIA Container Toolkit
  • CDI NVIDIA généré dans `/var/run/cdi/nvidia.yaml`
  • clients comme Open WebUI

Remarques

  • L'instance NVIDIA n'a fonctionné correctement qu'après mise en place de NVIDIA Container Toolkit et CDI.
  • Le stockage de modèles est partagé entre les deux serveurs pour éviter les doublons disque.
  • Par prudence, éviter les `ollama pull` simultanés sur les deux instances.
  • Faire préférentiellement les opérations d'écriture (`pull`, `rm`, création de modèles) sur une seule instance à la fois.
  • Le proxy public documenté actuellement cible uniquement l'instance AMD/ROCm.

Utilisation CLI

Sélection explicite du serveur

Pour cibler un serveur particulier depuis le terminal local, utiliser `OLLAMA_HOST`.

Exemples :

OLLAMA_HOST=http://127.0.0.1:11434 ollama list
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3

OLLAMA_HOST=http://127.0.0.1:11435 ollama list
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3

Alias shell

Alias ajoutés dans `/home/loic/.bashrc` :

alias ollama-amd='OLLAMA_HOST=http://127.0.0.1:11434 ollama'
alias ollama-nvidia='OLLAMA_HOST=http://127.0.0.1:11435 ollama'

Exemples :

ollama-amd list
ollama-amd run qwen3

ollama-nvidia list
ollama-nvidia run qwen3

Exemples de tests

Test basique de disponibilité

curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags

Questions de test

OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Écris un haïku sur les GPU."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Écris un haïku sur les GPU."

Vérifier le GPU utilisé côté NVIDIA

Les logs de `ollama-nvidia.service` doivent montrer une détection CUDA du type :

  • `library=CUDA`
  • `description="NVIDIA GeForce RTX 3070"`

Supervision / diagnostic

État des services

systemctl --user status ollama.service
systemctl --user status ollama-nvidia.service

Journaux

journalctl --user -u ollama.service -n 100 --no-pager
journalctl --user -u ollama-nvidia.service -n 100 --no-pager

Vérifier la carte NVIDIA

nvidia-smi
watch -n 1 nvidia-smi

Vérifier que CDI voit le GPU

nvidia-ctk cdi list

Conteneurs actifs

podman ps | grep -E 'ollama_roc|ollama_nv'

Contrôler la réponse API

curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags

Données / emplacements à sauvegarder

  • `/media/loic/nem/ollama`
  • `/home/loic/.config/systemd/user/ollama.service`
  • `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • `/etc/caddy/Caddyfile`
  • `/home/loic/.bashrc`

Sauvegarde

  • Sauvegarder le répertoire de modèles partagé `/media/loic/nem/ollama`.
  • Sauvegarder les deux services systemd user Ollama.
  • Sauvegarder la configuration Caddy liée à `25434`.

Restauration

  • Restaurer `/media/loic/nem/ollama`.
  • Restaurer les fichiers systemd user `ollama.service` et `ollama-nvidia.service`.
  • Recharger systemd user puis relancer les services :
systemctl --user daemon-reload
systemctl --user restart ollama.service
systemctl --user restart ollama-nvidia.service

Maintenance documentaire

Lors d'un changement de port, de proxy public, de stockage des modèles, de pilote GPU, de toolkit NVIDIA, d'alias shell ou d'architecture AMD/NVIDIA, mettre à jour cette page et la page centrale Trace install tas.

Trace documentaire

Cette page fait partie de Trace install tas.