Como Verificar a Versão do CUDA no Ubuntu (Incluindo Guia de Compatibilidade com cuDNN)

目次

1. Introdução

CUDA (Compute Unified Device Architecture) é uma plataforma de computação paralela desenvolvida pela NVIDIA que utiliza GPUs. É amplamente usada para aprendizado de máquina, deep learning, renderização 3D e muitas outras cargas de trabalho computacionais.

Ao usar CUDA em um ambiente Ubuntu, é importante verificar a versão do CUDA pelos seguintes motivos:

Compatibilidade de Driver

O CUDA suporta apenas versões específicas de drivers NVIDIA, e a incompatibilidade pode impedir o funcionamento correto do CUDA.

Compatibilidade de Bibliotecas

Bibliotecas como TensorFlow e PyTorch exigem versões específicas do CUDA e do cuDNN, portanto é essencial confirmar que as versões corretas estão instaladas.

Evitar Conflitos de Ambiente

Se múltiplas versões do CUDA estiverem instaladas no sistema, você deve saber qual versão está atualmente ativa e alternar entre elas conforme necessário.

Este guia explica claramente como verificar a versão do CUDA no Ubuntu.

2. Como Verificar a Versão do CUDA no Ubuntu

No Ubuntu, você pode verificar a versão do CUDA usando os métodos a seguir.

Método 1: Verificar com nvidia-smi (Método Mais Fácil)

O driver NVIDIA inclui uma ferramenta chamada nvidia-smi (NVIDIA System Management Interface) que exibe informações da GPU.

Comando

nvidia-smi

Exemplo de Saída

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03    Driver Version: 530.41.03    CUDA Version: 12.1     |
+-----------------------------------------------------------------------------+

Pontos Principais

  • A linha CUDA Version: 12.1 mostra a versão máxima do CUDA suportada pelo driver.
  • Isso pode ser diferente da versão real do Toolkit CUDA instalada, portanto verifique também os próximos métodos.

Método 2: Verificar com nvcc -V (Para Desenvolvedores)

Se o CUDA estiver instalado corretamente, você pode verificar a versão do nvcc, o compilador CUDA.

Comando

nvcc -V

Exemplo de Saída

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105

Pontos Principais

  • release 12.1, V12.1.105 → Indica a versão do Toolkit CUDA instalada.
  • Pode não coincidir com a versão mostrada pelo nvidia-smi.

Método 3: Verificar version.txt (Verificação Manual)

Se o CUDA estiver instalado em /usr/local/cuda, o arquivo version.txt contém informações da versão.

Comando

cat /usr/local/cuda/version.txt

Exemplo de Saída

CUDA Version 12.1.105

Pontos Principais

  • Útil quando nvcc -V não está disponível.
  • Você deve garantir que /usr/local/cuda esteja corretamente linkado.

3. Como Verificar a Versão do cuDNN

cuDNN (CUDA Deep Neural Network) é uma biblioteca de deep learning usada com CUDA.
É importante verificar a versão do cuDNN junto com o CUDA.

Método 1: Verificar cudnn_version.h

A versão do cuDNN está armazenada no arquivo de cabeçalho cudnn_version.h.

Comando

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Exemplo de Saída

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1

Pontos Principais

  • Indica que o cuDNN 8.9.1 está instalado.
  • O comando grep ajuda a extrair a informação da versão facilmente.
  • cuDNN e CUDA devem ser compatíveis; verifique o emparelhamento correto.

Método 2: Verificar com dpkg (Apenas Linux Baseado em Debian)

Em sistemas baseados em Debian, como o Ubuntu, você pode verificar os pacotes cuDNN instalados com dpkg.

Comando

dpkg -l | grep libcudnn

Exemplo de Saída

ii  libcudnn8    8.9.1-1+cuda12.1    amd64    NVIDIA cuDNN Library

Pontos Principais

  • A versão do cuDNN (8.9.1) é mostrada no nome do pacote.
  • cuda12.1 indica a versão do CUDA compatível.

Use esses métodos para garantir que seu ambiente CUDA esteja configurado corretamente.

4. Como lidar com múltiplas versões instaladas do CUDA

Em Ubuntu, é possível instalar várias versões do CUDA. No entanto, isso pode causar confusão sobre qual versão está atualmente ativa.
Nesses casos, você deve mudar para a versão correta manualmente.

Método 1: Alternar versões usando update-alternatives

Ubuntu permite alternar entre versões do CUDA usando a ferramenta update-alternatives.

Verificar configurações atuais

update-alternatives --query cuda

Alternar versões

sudo update-alternatives --config cuda

Exemplo de saída

There are 3 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-11.8  100       auto mode
  1            /usr/local/cuda-10.2  50        manual mode
  2            /usr/local/cuda-11.8  100       manual mode
  3            /usr/local/cuda-12.1  110       manual mode

Press <enter> to keep the current choice[*], or type selection number:

Pontos principais

  • Executar update-alternatives --config cuda exibe todas as versões disponíveis do CUDA.
  • Você pode selecionar a versão a ser usada inserindo o número correspondente.
  • auto mode e manual mode estão disponíveis; escolha manual mode para troca manual.

Método 2: Configurar links simbólicos manualmente

Você também pode ativar uma versão específica do CUDA ajustando manualmente os links simbólicos.

Verificar link simbólico existente

ls -l /usr/local/cuda

Exemplo de saída

lrwxrwxrwx 1 root root 20 Feb  1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8

Alterar versão do CUDA

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda

Verificar

ls -l /usr/local/cuda

Pontos principais

  • /usr/local/cuda é usado como o caminho padrão do CUDA, portanto atualizar este link troca a versão ativa.
  • Usar ln -s facilita a troca entre versões.

Usando esses métodos, você pode gerenciar múltiplas instalações do CUDA e garantir que a versão correta esteja ativa.

5. Perguntas Frequentes (FAQ)

Esta seção resume problemas comuns relacionados à verificação de versões do CUDA. Use-a para solução de problemas.

Q1: nvcc -V não foi encontrado!

Se o comando nvcc estiver ausente, o caminho do CUDA pode não estar configurado.

Solução 1: Verificar se o CUDA está instalado

ls /usr/local/cuda/

Solução 2: Adicionar nvcc ao PATH

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Depois disso, execute nvcc -V novamente para confirmar que funciona.

Q2: Por que a versão do CUDA mostrada pelo nvidia-smi é diferente?

A versão do CUDA mostrada pelo nvidia-smi representa a versão máxima do CUDA suportada pelo driver NVIDIA.

Exemplo de verificação:

nvidia-smi

Exemplo de saída:

CUDA Version: 12.1

No entanto, isso não indica a versão do Toolkit CUDA instalada. Use nvcc -V ou version.txt para verificar a versão realmente instalada.

Q3: Como verificar a compatibilidade entre CUDA e cuDNN?

A maneira mais precisa é consultar a matriz de suporte oficial da NVIDIA.

Site oficial:

NVIDIA cuDNN Support Matrix

Você também deve confirmar a compatibilidade verificando as versões instaladas:

Verificar versão do CUDA

nvcc -V

Verificar versão do cuDNN

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Gerenciando essas versões adequadamente, você pode evitar problemas relacionados ao CUDA e ao cuDNN.

6. Resumo

Este artigo explicou como verificar a versão do CUDA em um ambiente Ubuntu.
Vamos revisar os pontos principais.

Como verificar versões do CUDA

MethodCommandDescription
nvidia-sminvidia-smiShows the CUDA version supported by the driver
nvcc -Vnvcc -VShows the installed CUDA Toolkit version
version.txtcat /usr/local/cuda/version.txtManually check the installed CUDA version

Como verificar cuDNN

MethodCommandDescription
cudnn_version.hcat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2Check version from the header file
dpkgdpkg -l | grep libcudnnCheck installed cuDNN packages

Como alternar versões do CUDA

MethodCommandDescription
update-alternativessudo update-alternatives --config cudaSwitch between multiple CUDA versions
Symbolic Linksudo ln -s /usr/local/cuda-XX.X /usr/local/cudaManually switch CUDA versions

Principais conclusões

  • Sempre verifique sua versão do CUDA antes do desenvolvimento
  • Verifique a compatibilidade entre CUDA e cuDNN
  • Entenda como alternar versões quando múltiplas instalações do CUDA existirem

Ao gerenciar adequadamente seu ambiente, você pode maximizar o desempenho e a estabilidade do CUDA.
Esperamos que este guia ajude você a verificar as versões do CUDA de forma eficaz no Ubuntu.

侍エンジニア塾