Initial commit

This commit is contained in:
admin committed 2026-09-05 22:47:35 +02:00
commit 8641464a6c
44 files changed
+2192

No files matched your search

+77
View File
@@ -0,0 +1,77 @@
# llama.cpp samt Server, CLI und Benchmark installieren
Der Installer baut die drei Programme `llama-server`, `llama-cli`, `llama-bench`
aus dem offiziellen Repository mit CUDA. Er überschreibt weder `/usr/bin` noch
einen vorhandenen Build und startet keinen Dienst. Kein AUR-Helper erforderlich.
## Neue Arch-Maschine
Zuerst einen zur GPU passenden NVIDIA-Treiber einrichten. `nvidia-smi` muss
funktionieren. Treiberwahl und Kernelupdates werden nicht automatisiert.
```bash
sudo pacman -Syu --needed base-devel git cmake ninja cuda openssl
```
Dies ist eine vollständige Arch-Systemaktualisierung. Bei Kernel-/Treiberupdate
Jobs beenden und neu starten, bevor du die GPU-Installation testest. Keine
partielle Aktualisierung durch Ausschließen einzelner Systempakete erzwingen.
Dann aus dem Deployment-Repo:
```bash
# master bewusst ausgewählt, keine als stabil behauptete Release-Version:
./scripts/install-llama-cpp.sh --ref master --jobs 4 --cuda-arch 86
```
`86` ist für RTX 3080 gewählt. Für einen anderen Rechner dessen GPU-Architektur
angeben. Mit `--ref <vollständiger-Commit>` lässt sich derselbe Quellstand erneut
bauen. Tags/Branches werden aufgelöst und im jeweiligen `BUILD-INFO.txt` zusammen
mit der SHA gespeichert. CUDA/Compiler/Arch-Pakete bleiben rollende Abhängigkeiten;
das ist kein bitidentisch eingefrorenes Betriebssystem-Image.
`--prefix /absoluter/pfad` erlaubt einen anderen Build-Speicherort. Dann den
ausgegebenen Binary-Pfad ausdrücklich in `LLAMA_SERVER_BIN` konfigurieren.
Falls CUDA den installierten Hostcompiler ablehnt: kompatiblen Compiler nach
CUDA-/Arch-Dokumentation wählen und CMake z.B. über `CC`, `CXX`, `CUDAHOSTCXX`
konfigurieren. Kein automatisches `--allow-unsupported-compiler` und keine
Treiber-/Systemdateipatches. Ein fehlgeschlagener Build lässt aktive Versionen
unverändert und bleibt zur Diagnose erhalten.
Der Installer kopiert das Build-bin-Verzeichnis einschließlich dortiger
Begleitdateien. Die Projektbibliotheken werden statisch gebaut; CUDA- und
Systembibliotheken bleiben Laufzeitabhängigkeiten. Auf neuer Hardware neu bauen,
nicht nur die Binary übertragen.
## Auswahl
- Erster verwalteter Build: Link `~/.local/opt/llama.cpp/current` wird angelegt.
- Spätere Builds: der Link bleibt stehen, der neue Pfad wird ausgegeben.
- Expliziter `LLAMA_SERVER_BIN` in `llama.env` hat Vorrang vor dem Link.
- Ohne expliziten Pfad: verwalteter Link, sonst `llama-server` aus PATH.
Auf der bisherigen Workstation **zunächst `/usr/bin/llama-server` beibehalten**.
Einen Backend-Versionswechsel und VRAM-Tuning nicht im selben Vergleich vermischen.
Für einen späteren Build dessen ausgegebenen Pfad in `LLAMA_SERVER_BIN` eintragen,
prüfen und erst nach Jobende mit dem Restart-Helfer aktivieren. Den alten Pfad
notieren; Rücknahme bedeutet Pfad zurücksetzen und erneut kontrolliert starten.
```bash
~/.local/libexec/hermes-stack-llama-run --check
```
Die Prüfung lädt kein Modell. Das erste echte Starten mit `LLAMA_HF_REPO`
benötigt Netzwerk, genug Plattenplatz und ein vorhandenes HF-Repository. Bei
Download-/Modellproblemen die vom Nutzer angegebene Modell-ID prüfen; sie wurde
hier nicht heruntergeladen. Für offline und feste Modellversionen lokale
GGUF-Dateien und ggf. passenden Vision-Projektor verwenden, SHA256 notieren.
Modell und Projektor werden separat gesichert, nicht im Git-Repo abgelegt.
## Offizielle Grundlagen
- [llama.cpp bauen, CUDA und GPU-Architekturen](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md)
- [Arch CUDA-Paket](https://archlinux.org/packages/extra/x86_64/cuda/)
- [NVIDIA Compute Capability](https://developer.nvidia.com/cuda-gpus)
Ein echter CUDA-Build und Modellbetrieb müssen auf der Zielmaschine geprüft
werden. Die mitgelieferten Tests benutzen keine GPU und laden keine Gewichte.