Настройка Ollama работает в GPU

Windows (компьютер)

Ниже приведен пример настройки Ollama для работы в GPU на системе Windows.

Оллама По умолчанию для вычислений используется центральный процессор. Для ускорения вычислений можно настроить GPU, используемый Ollama. В этом руководстве мы расскажем вам, как установить переменную окружения для включения ускорения GPU в системах Windows.

предварительные условия

  • В компьютере установлена видеокарта NVIDIA.
  • Графические драйверы NVIDIA установлены и могут быть использованы с помощью команды nvidia-smi чтобы проверить, установлен ли драйвер.
  • Инструментарий CUDA установлен и может быть использован с помощью команды nvcc --version чтобы проверить, установлена ли CUDA.

Наконечник

Что касается установки графических драйверов NVIDIA и набора инструментов CUDA, вы можете самостоятельно найти соответствующие руководства, поэтому я не буду повторять их в этой статье. Если ваш компьютер соответствует вышеуказанным требованиям, Ollama по умолчанию работает с GPU-ускорением. Если вы хотите указать конкретный GPU, вы можете выполнить следующие шаги для его настройки.

Настройка переменных среды

  1. Откройте настройки переменных системного окружения
    • Введите "Переменные среды" в строке поиска Windows и выберите "Изменить системные переменные среды".
    • Во всплывающем окне "Свойства системы" перейдите на вкладку "Дополнительно", а затем нажмите кнопку "Переменные среды".
  2. Создание переменной OLLAMA_GPU_LAYER
    • В области "Системные переменные" нажмите кнопку "Создать".
    • В диалоговом окне Новая системная переменная введите следующую информацию:
      • Имя переменной: OLLAMA_GPU_LAYER
      • Переменные значения: cuda (Это позволит Ollama использовать CUDA для ускорения GPU).
    • Нажмите "OK", чтобы сохранить переменную.

    Ollama 自定义在 GPU 中运行

  3. (Необязательно) Укажите GPU для использования
    • Если в вашей системе более одного GPU и вы хотите указать, что Ollama использует определенный GPU, вы можете установить параметр CUDA_VISIBLE_DEVICES Переменные среды.
    • Находит UUID графического процессора: Настоятельно рекомендуется использовать UUID вместо номера, так как номер может измениться в результате обновления драйверов или перезагрузки системы.
      • Откройте командную строку или PowerShell.
      • Выполнить команду:nvidia-smi -L
      • В полученном результате найдите значение "UUID" графического процессора, который вы хотите использовать. Пример:GPU 00000000:01:00.0 ниже UUID : GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

      Ollama 自定义在 GPU 中运行

    • Создайте переменную CUDA_VISIBLE_DEVICES:
      • В области "Системные переменные" нажмите кнопку "Создать".
      • В диалоговом окне Новая системная переменная введите следующую информацию:
        • Имя переменной: CUDA_VISIBLE_DEVICES
        • Переменные значения: UUID найденного графического процессора. например:GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      • Нажмите "OK", чтобы сохранить переменную.

Важно: Для того чтобы переменная окружения стала эффективной, необходимо Перезапустите терминал или приложение, на котором запущена Ollama .

Убедитесь, что ускорение GPU действует:

  1. Откройте командную строку.
  2. Запустите Ollama. Например: ollama run deepseek-r1:1.5b
  3. Откройте новое окно командной строки и используйте команду ollama ps чтобы просмотреть процессы, запущенные в Ollama.
Ollama 自定义在 GPU 中运行

 

Linux

Ниже приведен пример того, как настроить Ollama для работы на GPU в системе Linux.

  1. создать ollama_gpu_selector.sh файл сценария со следующим содержимым:
#!/bin/bash

# Validate input
validate_input(){
if[[! $1 =~^[0-4](,[0-4])*$ ]];then
echo "Error: Invalid input. Please enter numbers between 0 and 4, separated by commas."
exit1
fi
}

# Update the service file with CUDA_VISIBLE_DEVICES values
update_service(){
# Check if CUDA_VISIBLE_DEVICES environment variable exists in the service file
if grep -q '^Environment="CUDA_VISIBLE_DEVICES='/etc/systemd/system/ollama.service;then
# Update the existing CUDA_VISIBLE_DEVICES values
sudo sed -i 's/^Environment="CUDA_VISIBLE_DEVICES=.*/Environment="CUDA_VISIBLE_DEVICES='"$1"'"/'/etc/systemd/system/ollama.service
else
# Add a new CUDA_VISIBLE_DEVICES environment variable
sudo sed -i '/\[Service\]/a Environment="CUDA_VISIBLE_DEVICES='"$1"'"'/etc/systemd/system/ollama.service
fi

# Reload and restart the systemd service
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
echo "Service updated and restarted with CUDA_VISIBLE_DEVICES=$1"
}

# Check if arguments are passed
if["$#"-eq 0];then
# Prompt user for CUDA_VISIBLE_DEVICES values if no arguments are passed
read -p "Enter CUDA_VISIBLE_DEVICES values (0-4, comma-separated): " cuda_values
validate_input "$cuda_values"
update_service "$cuda_values"
else
# Use arguments as CUDA_VISIBLE_DEVICES values
cuda_values="$1"
validate_input "$cuda_values"
update_service "$cuda_values"
fi
  1. Добавление разрешений на выполнение к файлам сценариев
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh

После запуска сценария следуйте подсказкам о номере GPU, чтобы указать GPU, используемый Ollama. Вы можете использовать запятые для разделения нескольких номеров GPU, например:0,1,2.

  1. Перезапуск службы Ollama
cat /etc/systemd/system/ollama.service

После выполнения команды посмотрите файл службы Ollama и убедитесь, что CUDA_VISIBLE_DEVICES Переменные окружения были обновлены.

Если он был обновлен, то в нем будет добавлено, например Environment="CUDA_VISIBLE_DEVICES=0,1,2" переменные окружения.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...