GPU 지원

TensorFlow GPU 지원에는 다양한 드라이버와 라이브러리가 필요합니다. 설치를 단순화하고 라이브러리 충돌을 방지하려면 GPU를 지원하는 TensorFlow Docker 이미지를 사용하는 것이 좋습니다(Linux만 해당). 이 설정에는 NVIDIA® GPU 드라이버만 있으면 됩니다.

아래의 설치 명령어는 최신 버전의 TensorFlow에 적용됩니다. 이전 TensorFlow 출시에 사용할 CUDA® 및 cuDNN 버전은 테스트된 빌드 구성을 참고하세요.

Pip 패키지

사용 가능한 패키지, 시스템 요구사항 및 명령어는 pip 설치 가이드를 참고하세요. TensorFlow pip 패키지에는 CUDA® 지원 카드에 대한 GPU 지원이 포함됩니다.

pip install tensorflow

이 가이드에서는 최신 안정적인 TensorFlow 출시의 GPU 지원 및 설치 단계를 설명합니다.

이전 버전의 TensorFlow

1.15 이하 버전의 경우 CPU와 GPU 패키지가 다음과 같이 구분됩니다.

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

하드웨어 요구사항

다음과 같은 GPU 사용 기기가 지원됩니다.

  • CUDA® 아키텍처 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 이상을 포함하는 NVIDIA® GPU 카드 CUDA® 지원 GPU 카드 목록을 참고하세요.
  • 지원되지 않는 CUDA® 아키텍처를 사용하는 GPU의 경우 또는 PTX에서 JIT 컴파일을 방지하거나 다른 버전의 NVIDIA® 라이브러리를 사용하려면 Linux 소스에서 빌드 가이드를 참고하세요.
  • 패키지에는 지원되는 최신 CUDA® 아키텍처를 제외하고 PTX 코드가 포함되어 있지 않습니다. 따라서 CUDA_FORCE_PTX_JIT=1이 설정된 경우 이전 GPU에서 TensorFlow가 로드되지 않습니다. 자세한 내용은 애플리케이션 호환성을 참고하세요.

소프트웨어 요구사항

다음 NVIDIA® 소프트웨어가 시스템에 설치되어 있어야 합니다.

Linux 설정

아래 apt 명령어를 사용하면 가장 간편하게 Ubuntu에 필수 NVIDIA 소프트웨어를 설치할 수 있습니다. 그러나 소스에서 TensorFlow를 빌드하는 경우 위에 나열된 소프트웨어 요구사항을 수동으로 설치하고 -devel TensorFlow Docker 이미지를 기본으로 사용하는 것이 좋습니다.

CUDA® Toolkit과 함께 제공되는 CUPTI를 설치합니다. 설치 디렉터리를 $LD_LIBRARY_PATH 환경 변수에 추가합니다.

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

apt를 사용하여 CUDA 설치

이 섹션에서는 Ubuntu 16.04 및 18.04에 CUDA® 11(TensorFlow 2.4.0 이상)을 설치하는 방법을 보여줍니다. 아래의 명령어는 다른 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

Windows 설정

위에 나열된 하드웨어 요구사항소프트웨어 요구사항을 참조하세요. Windows용 CUDA® 설치 가이드를 참조하세요.

설치된 NVIDIA 소프트웨어 패키지가 위에 나열된 버전과 일치하는지 확인합니다. 특히 cuDNN64_8.dll 파일이 없으면 TensorFlow가 로드되지 않습니다. 다른 버전을 사용하려면 소스에서 Windows 빌드 가이드를 참고하세요.

CUDA®, CUPTI 및 cuDNN 설치 디렉터리를 %PATH% 환경 변수에 추가합니다. 예를 들어 CUDA® Toolkit이 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0에 설치되고 cuDNN이 C:\tools\cuda에 설치된 경우 다음과 일치하도록 %PATH%를 업데이트합니다.

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%