Windows (Computer)
Im Folgenden finden Sie ein Beispiel dafür, wie Sie Ollama so anpassen können, dass es auf der GPU eines Windows-Systems läuft.
Ollama Standardmäßig wird die CPU für die Inferenz verwendet. In dieser Anleitung erfahren Sie, wie Sie die Umgebungsvariable setzen, um die GPU-Beschleunigung auf Windows-Systemen zu aktivieren.
Vorbedingungen
- Der Computer ist mit einer NVIDIA-Grafikkarte ausgestattet.
- NVIDIA-Grafiktreiber sind installiert und können mit dem Befehl
nvidia-smi
um zu prüfen, ob der Treiber installiert ist. - Das CUDA-Toolkit ist installiert und kann mit dem Befehl
nvcc --version
um zu prüfen, ob CUDA installiert ist.
Tipp
Für die Installation der NVIDIA-Grafiktreiber und des CUDA-Toolkits können Sie selbst nach entsprechenden Anleitungen suchen, daher werde ich sie in diesem Artikel nicht wiederholen. Wenn Ihr Computer die oben genannten Voraussetzungen erfüllt, ist Ollama standardmäßig GPU-beschleunigt. Wenn Sie einen bestimmten Grafikprozessor angeben möchten, können Sie die folgenden Schritte befolgen, um ihn einzurichten.
Umgebungsvariablen konfigurieren
- Öffnen Sie die Einstellungen der Systemumgebungsvariablen
- Geben Sie "Umgebungsvariablen" in die Windows-Suchleiste ein und wählen Sie "Systemumgebungsvariablen bearbeiten".
- Klicken Sie im Popup-Fenster Systemeigenschaften auf die Registerkarte Erweitert und dann auf die Schaltfläche Umgebungsvariablen.
- Erstellen der Variable OLLAMA_GPU_LAYER
- Klicken Sie im Bereich "Systemvariablen" auf die Schaltfläche "Neu".
- Geben Sie im Dialogfeld Neue Systemvariable die folgenden Informationen ein:
- Name der Variablen:
OLLAMA_GPU_LAYER
- Variable Werte:
cuda
(Damit wird Ollama angewiesen, CUDA für die GPU-Beschleunigung zu verwenden)
- Name der Variablen:
- Klicken Sie auf "OK", um die Variable zu speichern.
- (Optional) Geben Sie die zu verwendende GPU an.
- Wenn Ihr System über mehr als eine GPU verfügt und Sie festlegen möchten, dass Ollama eine bestimmte GPU verwendet, können Sie die Option
CUDA_VISIBLE_DEVICES
Umgebungsvariablen. - Ermittelt die UUID der GPU: Es wird dringend empfohlen, die UUID anstelle der Nummer zu verwenden, da sich die Nummer aufgrund von Treiberaktualisierungen oder Systemneustarts ändern kann.
- Öffnen Sie eine Eingabeaufforderung oder PowerShell.
- Befehl ausführen:
nvidia-smi -L
- Suchen Sie in der Ausgabe den "UUID"-Wert der GPU, die Sie verwenden möchten. Beispiel:
GPU 00000000:01:00.0
unterUUID : GPU-xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxx
.
- Erstellen Sie die Variable CUDA_VISIBLE_DEVICES:
- Klicken Sie im Bereich "Systemvariablen" auf die Schaltfläche "Neu".
- Geben Sie im Dialogfeld Neue Systemvariable die folgenden Informationen ein:
- Name der Variablen:
CUDA_VISIBLE_DEVICES
- Variable Werte: Die UUID der gefundenen GPU, zum Beispiel:
GPU-xxxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxxxxxxx
- Name der Variablen:
- Klicken Sie auf "OK", um die Variable zu speichern.
- Wenn Ihr System über mehr als eine GPU verfügt und Sie festlegen möchten, dass Ollama eine bestimmte GPU verwendet, können Sie die Option
Das ist wichtig: Damit die Umgebungsvariable wirksam wird, muss die Starten Sie das Terminal oder die Anwendung, auf der Ollama läuft, neu .
Überprüfen Sie, ob die GPU-Beschleunigung aktiviert ist:
- Öffnen Sie eine Eingabeaufforderung.
- Führen Sie zum Beispiel Ollama aus:
Ollama-Lauf Tiefensuche-r1:1.5b
- Öffnen Sie ein neues Fenster der Eingabeaufforderung und verwenden Sie den Befehl
ollama ps
um die in Ollama laufenden Prozesse anzuzeigen.
Linux
Im Folgenden finden Sie ein Beispiel dafür, wie Sie Ollama so anpassen, dass es auf der GPU eines Linux-Systems läuft.
- einrichten.
ollama_gpu_selector.sh
Skriptdatei mit dem folgenden Inhalt:
#!/bin/bash
# Eingabe validieren
validate_input(){
if[[! $1 =~^[0-4](,[0-4])*$ ]];then
echo "Fehler: Ungültige Eingabe. Bitte geben Sie Zahlen zwischen 0 und 4 ein, getrennt durch Kommas."
exit1
exit1." echo "Fehler: Ungültige Eingabe.
}
# Aktualisieren Sie die Servicedatei mit den Werten von CUDA_VISIBLE_DEVICES
update_service(){
# Prüfen Sie, ob die Umgebungsvariable CUDA_VISIBLE_DEVICES in der Servicedatei existiert
if grep -q '^Environment="CUDA_VISIBLE_DEVICES='/etc/systemd/system/ollama.service;then
# Aktualisieren Sie die vorhandenen CUDA_VISIBLE_DEVICES-Werte
sudo sed -i 's/^Umgebung="CUDA_VISIBLE_DEVICES=. */Umgebung="CUDA_VISIBLE_DEVICES='"$1"'"/'/etc/systemd/system/ollama.service
CUDA_VISIBLE_DEVICES
# Fügen Sie eine neue Umgebungsvariable CUDA_VISIBLE_DEVICES hinzu
sudo sed -i '/\[Service\]/a Environment="CUDA_VISIBLE_DEVICES='"$1"'"'/etc/systemd/system/ollama.service
service'' /etc/systemd/system/ollama.service
# Laden Sie den systemd-Dienst neu und starten Sie ihn neu
sudo systemctl daemon-reload
sudo systemctl neu starten ollama.service
echo "Dienst aktualisiert und neu gestartet mit CUDA_VISIBLE_DEVICES=$1"
}
# Prüfen, ob Argumente übergeben wurden
if["$#"-eq 0];then
# Aufforderung zur Eingabe von CUDA_VISIBLE_DEVICES-Werten, wenn keine Argumente übergeben werden
read -p "Geben Sie die Werte für CUDA_VISIBLE_DEVICES ein (0-4, kommagetrennt): " cuda_values
validieren_Eingabe "$cuda_Werte"
update_service "$cuda_values"
sonst
# Argumente als CUDA_VISIBLE_DEVICES-Werte verwenden
cuda_values="$1"
validieren_Eingabe "$cuda_Werte"
update_service "$cuda_values"
Die Option "$cuda_values" ist auf der folgenden Seite verfügbar.
- Hinzufügen von Ausführungsberechtigungen zu Skriptdateien
chmod +x ollama_gpu_selector.sh
sudo . /ollama_gpu_selector.sh
Nachdem Sie das Skript ausgeführt haben, befolgen Sie die Aufforderungen zur Eingabe der GPU-Nummer, um die von Ollama verwendete GPU anzugeben. Sie können z. B. mehrere GPU-Nummern durch Kommas trennen:0,1,2
.
- Neustart des Ollama-Dienstes
cat /etc/systemd/system/ollama.service
Nachdem Sie den Befehl ausgeführt haben, sehen Sie sich die Ollama-Dienstdatei an und bestätigen Sie, dass die CUDA_VISIBLE_DEVICES
Die Umgebungsvariablen wurden aktualisiert.
Wenn sie aktualisiert wurde, fügt sie zum Beispiel Folgendes hinzu Umgebung="CUDA_VISIBLE_DEVICES=0,1,2"
Umgebungsvariablen.