Suporte a GPUs

O suporte a GPUs do TensorFlow requer uma variedade de drivers e bibliotecas. Para simplificar a instalação e evitar conflitos entre bibliotecas, recomendamos o uso de uma imagem do TensorFlow Docker com suporte a GPUs (somente Linux). Essa configuração requer apenas os drivers da GPU NVIDIA®.

Estas instruções de instalação são referentes à versão mais recente do TensorFlow. Consulte as configurações do build testadas para CUDA e cuDNN a serem usadas com versões mais antigas do TensorFlow.

Pacote PIP

Consulte o guia de instalação do PIP para ver os pacotes, os requisitos de sistema e as instruções disponíveis. O pacote pip do TensorFlow inclui suporte a GPUs para placas habilitadas para CUDA®:

pip install tensorflow

Este guia aborda as etapas de suporte e instalação de GPUs para a última versão estável do TensorFlow.

Versões mais antigas do TensorFlow

Para as versões 1.15 e anteriores, os pacotes de CPU e GPU são separados:

pip install tensorflow==1.15      # CPU
pip install tensorflow-gpu==1.15  # GPU

Requisitos de hardware

Há suporte para os seguintes dispositivos habilitados para GPU:

  • Placa GPU NVIDIA® com arquiteturas CUDA® 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 ou mais recentes. Veja a lista de placas GPU habilitadas para CUDA®.
  • Para GPUs com arquiteturas CUDA® sem suporte, para evitar a compilação do PTX usando JIT ou para usar diferentes versões das bibliotecas da NVIDIA®, consulte o guia sobre criar da origem para o Linux.
  • Os pacotes não contêm o código PTX, exceto para arquitetura CUDA® com suporte mais recente. Portanto, o TensorFlow não carrega em GPUs mais antigas quando CUDA_FORCE_PTX_JIT=1 estiver definido. Consulte Compatibilidade de aplicativos para saber mais detalhes.

Requisitos de software

Os seguintes softwares NVIDIA® precisam ser instalados no sistema:

Configuração do Linux

As instruções apt abaixo são a maneira mais fácil de instalar o software NVIDIA necessário no Ubuntu. No entanto, se for criar o TensorFlow da origem, instale manualmente os requisitos de software listados acima e considere o uso de uma -devel imagem TensorFlow Docker como base.

Instale a CUPTI, que acompanha o CUDA® Toolkit. Anexe o diretório de instalação dela à variável de ambiente $LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

Instalar a CUDA com apt

Nesta seção, mostramos como instalar a CUDA® 11 (TensorFlow >= 2.4.0) no Ubuntu 16.04 e 18.04. Estas instruções podem funcionar para outras distribuições baseadas no Debian.

Ubuntu 18.04 (CUDA 11.0)

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update

wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt-get update

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-11-0 \
    libcudnn8=8.0.4.30-1+cuda11.0  \
    libcudnn8-dev=8.0.4.30-1+cuda11.0

# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install TensorRT. Requires that libcudnn8 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer7=7.1.3-1+cuda11.0 \
    libnvinfer-dev=7.1.3-1+cuda11.0 \
    libnvinfer-plugin7=7.1.3-1+cuda11.0

Ubuntu 16.04 (CUDA 11.0)

# Add NVIDIA package repositories
# Add HTTPS support for apt-key
sudo apt-get install gnupg-curl
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/ /"
sudo apt-get update
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt-get update
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt-get update

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-11-0 \
    libcudnn8=8.0.4.30-1+cuda11.0  \
    libcudnn8-dev=8.0.4.30-1+cuda11.0


# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends \
    libnvinfer7=7.1.3-1+cuda11.0 \
    libnvinfer-dev=7.1.3-1+cuda11.0 \
    libnvinfer-plugin7=7.1.3-1+cuda11.0 \
    libnvinfer-plugin-dev=7.1.3-1+cuda11.0

Configuração do Windows

Consulte os requisitos de hardware e os de software listados acima. Leia o guia de instalação da CUDA® para Windows.

Verifique se os pacotes de software da NVIDIA instalados correspondem às versões listadas acima. Em particular, o TensorFlow não carregará sem o arquivo cuDNN64_8.dll. Para usar uma versão diferente, consulte o guia sobre criar da origem para o Windows.

Adicione os diretórios de instalação da CUDA, CUPTI e cuDNN à variável de ambiente %PATH%. Por exemplo, se o CUDA® Toolkit estiver instalado em C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0 e cuDNN em C:\tools\cuda, atualize seu %PATH% para corresponder a:

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%