Windows (computador)
A seguir, um exemplo de como personalizar o Ollama para ser executado na GPU em um sistema Windows.
Ollama Por padrão, a CPU é usada para inferência. Para obter uma inferência mais rápida, você pode configurar a GPU usada pelo Ollama. Este tutorial o orientará sobre como definir a variável de ambiente para ativar a aceleração da GPU em sistemas Windows.
pré-condições
- O computador tem uma placa de vídeo NVIDIA.
- Os drivers gráficos NVIDIA estão instalados e podem ser usados com o comando
nvidia-smi
para verificar se o driver está instalado. - O kit de ferramentas CUDA está instalado e pode ser usado com o comando
nvcc --version
para verificar se o CUDA está instalado.
Dica
Para a instalação dos drivers gráficos NVIDIA e do kit de ferramentas CUDA, você pode procurar tutoriais relacionados por conta própria, portanto não os repetirei neste artigo. Se o seu computador atender aos pré-requisitos acima, o Ollama será acelerado por GPU por padrão. Se quiser especificar uma GPU específica, você pode seguir as etapas abaixo para configurá-la.
Configuração de variáveis de ambiente
- Abra as configurações da variável de ambiente do sistema
- Digite "Environment Variables" (Variáveis de ambiente) na barra de pesquisa do Windows e selecione "Edit System Environment Variables" (Editar variáveis de ambiente do sistema).
- Na janela pop-up Propriedades do sistema, clique na guia Avançado e, em seguida, no botão Variáveis de ambiente.
- Criação da variável OLLAMA_GPU_LAYER
- Na área "System Variables" (Variáveis do sistema), clique no botão "New" (Novo).
- Na caixa de diálogo New System Variable (Nova variável de sistema), insira as seguintes informações:
- Nome da variável:
OLLAMA_GPU_LAYER
- Valores variáveis:
cuda
(Isso dirá ao Ollama para usar CUDA para aceleração de GPU)
- Nome da variável:
- Clique em "OK" para salvar a variável.
- (Opcional) Especifique a GPU a ser usada
- Se o seu sistema tiver mais de uma GPU e você quiser especificar que o Ollama use uma GPU específica, poderá definir a opção
CUDA_VISIBLE_DEVICES
Variáveis de ambiente. - Encontra o UUID da GPU: É altamente recomendável usar o UUID em vez do número, pois o número pode mudar devido a atualizações de driver ou reinicializações do sistema.
- Abra um prompt de comando ou o PowerShell.
- Executar comando:
nvidia-smi -L
- Na saída, encontre o valor "UUID" da GPU que você deseja usar. Exemplo:
GPU 00000000:01:00.0
inferiorUUID : GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
.
- Crie a variável CUDA_VISIBLE_DEVICES:
- Na área "System Variables" (Variáveis do sistema), clique no botão "New" (Novo).
- Na caixa de diálogo New System Variable (Nova variável de sistema), insira as seguintes informações:
- Nome da variável:
CUDA_VISIBLE_DEVICES
- Valores variáveis: O UUID da GPU encontrada, por exemplo:
GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Nome da variável:
- Clique em "OK" para salvar a variável.
- Se o seu sistema tiver mais de uma GPU e você quiser especificar que o Ollama use uma GPU específica, poderá definir a opção
Importante: Para que a variável de ambiente seja efetiva, a variável Reinicie o terminal ou o aplicativo em que o Ollama está sendo executado .
Verifique se a aceleração da GPU está em vigor:
- Abra um prompt de comando.
- Execute o Ollama, por exemplo:
ollama run deepseek-r1:1.5b
- Abra uma nova janela do prompt de comando e use o comando
ollama ps
para visualizar os processos em execução no Ollama.
Linux
A seguir, um exemplo de como personalizar o Ollama para ser executado na GPU em um sistema Linux.
- estabelecer
ollama_gpu_selector.sh
com o seguinte conteúdo:
#!/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
- Adição de permissões de execução a arquivos de script
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh
Depois de executar o script, siga as solicitações do número da GPU para especificar a GPU usada pelo Ollama. Você pode usar vírgulas para separar vários números de GPU, por exemplo:0,1,2
.
- Reiniciar o serviço Ollama
cat /etc/systemd/system/ollama.service
Depois de executar o comando, examine o arquivo de serviço do Ollama e confirme que a opção CUDA_VISIBLE_DEVICES
As variáveis de ambiente foram atualizadas.
Se tiver sido atualizado, ele adicionará, por exemplo Environment="CUDA_VISIBLE_DEVICES=0,1,2"
variáveis de ambiente.