Compatibilité avec les GPU

La compatibilité GPU de TensorFlow nécessite un ensemble de pilotes et de bibliothèques. Pour simplifier l'installation et éviter les conflits de bibliothèques, nous vous recommandons d'utiliser une image Docker TensorFlow compatible avec les GPU (Linux uniquement). Cette configuration ne nécessite que les pilotes de GPU NVIDIA®.

Les instructions d'installation ci-dessous concernent la dernière version de TensorFlow. Consultez les configurations de compilation testées pour les versions CUDA® et cuDNN à utiliser avec les anciennes versions de TensorFlow.

Package pip

Consultez le guide d'installation de pip pour découvrir les packages disponibles, la configuration requise et les instructions d'installation. Le package TensorFlow pip permet l'utilisation du GPU pour les cartes compatibles CUDA® :

pip install tensorflow

Ce guide fournit des informations sur la compatibilité de la dernière version stable de TensorFlow avec le GPU, et sur sa procédure d'installation.

Anciennes versions de TensorFlow

Dans TensorFlow 1.15 et versions antérieures, les packages pour les processeurs et les GPU sont proposés séparément :

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

Configuration matérielle requise

Les appareils suivants compatibles GPU sont acceptés :

  • Carte graphique GPU NVIDIA® avec architecture CUDA® 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 ou ultérieure. Consultez la liste des cartes graphiques compatibles CUDA®.
  • Pour utiliser des GPU ayant une architecture CUDA® non compatible, pour éviter la compilation à la volée à partir du code PTX ou pour utiliser différentes versions des bibliothèques NVIDIA®, consultez le guide Compiler à partir de la source pour Linux.
  • À l'exception de la dernière architecture CUDA® compatible, les packages ne contiennent pas le code PTX. Par conséquent, le TensorFlow ne se charge pas sur les GPU plus anciens lorsque le paramètre CUDA_FORCE_PTX_JIT=1 est défini. (Pour plus d'informations, consultez la page Compatibilité des applications)

Configuration logicielle requise

Les logiciels NVIDIA® suivants doivent être installés sur votre système :

Configuration pour Linux

Les instructions apt ci-dessous représentent le moyen le plus simple d'installer les logiciels NVIDIA requis sous Ubuntu. Si vous compilez TensorFlow à partir de la source, installez manuellement la configuration logicielle requise ci-dessus et songez à utiliser une image Docker TensorFlow -devel comme base.

Installez la bibliothèque CUPTI, fournie avec le CUDA® Toolkit. Ajoutez son répertoire d'installation à la variable d'environnement $LD_LIBRARY_PATH :

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

Installer CUDA avec apt

Cette section explique comment installer CUDA® 11 (TensorFlow 2.4.0 ou version ultérieure) sur Ubuntu 16.04 et 18.04. Les instructions indiquées peuvent fonctionner pour d'autres distributions basées sur 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

Configuration pour Windows

Reportez-vous à la configuration matérielle requise et à la configuration logicielle requise ci-dessus. Consultez le guide d'installation de CUDA® pour Windows.

Assurez-vous que les packages logiciels NVIDIA installés correspondent aux versions répertoriées ci-dessus. En particulier, notez que TensorFlow ne peut pas se charger sans le fichier cuDNN64_8.dll. Pour utiliser une autre version, consultez le guide Compiler à partir de la source pour Windows.

Ajoutez les répertoires d'installation de CUDA®, CUPTI et cuDNN à la variable d'environnement %PATH%. Ainsi, si le CUDA® Toolkit est installé dans C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0 et cuDNN dans C:\tools\cuda, vous devez modifier la variable %PATH% en conséquence :

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%