Ubuntu에서 CUDA 버전 확인 방법 (cuDNN 호환성 가이드 포함)

目次

1. 소개

CUDA(Compute Unified Device Architecture)는 NVIDIA에서 개발한 병렬 컴퓨팅 플랫폼으로 GPU를 활용합니다. 머신러닝, 딥러닝, 3D 렌더링 및 다양한 계산 작업에 널리 사용됩니다.

Ubuntu 환경에서 CUDA를 사용할 때는 다음과 같은 이유로 CUDA 버전을 확인하는 것이 중요합니다:

드라이버 호환성

CUDA는 특정 NVIDIA 드라이버 버전만 지원하며, 호환되지 않을 경우 CUDA가 정상적으로 동작하지 않을 수 있습니다.

라이브러리 호환성

TensorFlow, PyTorch와 같은 라이브러리는 특정 CUDA 및 cuDNN 버전을 요구하므로, 올바른 버전이 설치되어 있는지 확인해야 합니다.

환경 충돌 방지

시스템에 여러 CUDA 버전이 설치되어 있는 경우, 현재 활성화된 버전을 파악하고 필요에 따라 전환할 수 있어야 합니다.

이 가이드는 Ubuntu에서 CUDA 버전을 확인하는 방법을 명확히 설명합니다.

2. Ubuntu에서 CUDA 버전 확인 방법

Ubuntu에서는 다음과 같은 방법으로 CUDA 버전을 확인할 수 있습니다.

방법 1: nvidia-smi 로 확인 (가장 쉬운 방법)

NVIDIA 드라이버에는 GPU 정보를 표시하는 nvidia-smi(NVIDIA System Management Interface) 도구가 포함되어 있습니다.

명령어

nvidia-smi

예시 출력

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

주요 포인트

  • CUDA Version: 12.1 라인은 드라이버가 지원하는 최대 CUDA 버전을 나타냅니다.
  • 이는 실제로 설치된 CUDA Toolkit 버전과 다를 수 있으므로, 다음 방법들도 확인하십시오.

방법 2: nvcc -V 로 확인 (개발자용)

CUDA가 정상적으로 설치되어 있다면, CUDA 컴파일러인 nvcc의 버전을 확인할 수 있습니다.

명령어

nvcc -V

예시 출력

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

주요 포인트

  • release 12.1, V12.1.105설치된 CUDA Toolkit 버전을 나타냅니다.
  • nvidia-smi에서 표시된 버전과 일치하지 않을 수 있습니다.

방법 3: version.txt 확인 (수동 확인)

CUDA가 /usr/local/cuda 아래에 설치되어 있다면, version.txt 파일에 버전 정보가 들어 있습니다.

명령어

cat /usr/local/cuda/version.txt

예시 출력

CUDA Version 12.1.105

주요 포인트

  • nvcc -V를 사용할 수 없을 때 유용합니다.
  • /usr/local/cuda올바르게 심볼릭 링크되어 있는지 확인해야 합니다.

3. cuDNN 버전 확인 방법

cuDNN(CUDA Deep Neural Network)은 CUDA와 함께 사용하는 딥러닝 라이브러리입니다.
CUDA와 함께 cuDNN 버전도 확인하는 것이 중요합니다.

방법 1: cudnn_version.h 확인

cuDNN 버전은 헤더 파일 cudnn_version.h에 저장되어 있습니다.

명령어

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

예시 출력

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

주요 포인트

  • cuDNN 8.9.1이 설치되어 있음을 나타냅니다.
  • grep 명령을 사용하면 버전 정보를 쉽게 추출할 수 있습니다.
  • cuDNN과 CUDA는 호환되어야 하므로, 올바른 조합인지 확인하십시오.

방법 2: dpkg 로 확인 (Debian 기반 Linux 전용)

Ubuntu와 같은 Debian 기반 시스템에서는 dpkg를 사용해 설치된 cuDNN 패키지를 확인할 수 있습니다.

명령어

dpkg -l | grep libcudnn

예시 출력

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

주요 포인트

  • 패키지 이름에 cuDNN 버전(8.9.1)이 표시됩니다.
  • cuda12.1호환되는 CUDA 버전을 의미합니다.

위 방법들을 활용해 CUDA 환경이 올바르게 구성되었는지 확인하십시오.

4. 여러 설치된 CUDA 버전 관리 방법

Ubuntu에서는 여러 버전의 CUDA를 동시에 설치할 수 있습니다. 하지만 현재 어떤 버전이 활성화되어 있는지 혼동될 수 있습니다.
이러한 경우에는 올바른 버전으로 직접 전환해야 합니다.

방법 1: update-alternatives를 사용하여 버전 전환

Ubuntu에서는 update-alternatives 도구를 이용해 CUDA 버전을 전환할 수 있습니다.

현재 설정 확인

update-alternatives --query cuda

버전 전환

sudo update-alternatives --config cuda

예시 출력

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:

핵심 포인트

  • update-alternatives --config cuda 명령을 실행하면 사용 가능한 모든 CUDA 버전이 표시됩니다.
  • 해당 번호를 입력하여 사용하고자 하는 버전을 선택할 수 있습니다.
  • auto modemanual mode가 제공되며, 수동 전환을 원한다면 manual mode를 선택합니다.

방법 2: 심볼릭 링크 수동 구성

심볼릭 링크를 직접 조정하여 특정 CUDA 버전을 활성화할 수도 있습니다.

기존 심볼릭 링크 확인

ls -l /usr/local/cuda

예시 출력

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

CUDA 버전 변경

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

검증

ls -l /usr/local/cuda

핵심 포인트

  • /usr/local/cuda가 기본 CUDA 경로로 사용되므로, 이 링크를 업데이트하면 활성 버전이 전환됩니다.
  • ln -s 명령을 이용하면 버전 간 전환이 간편해집니다.

위 방법들을 활용하면 여러 CUDA 설치를 효율적으로 관리하고, 올바른 버전이 활성화되도록 할 수 있습니다.

5. 자주 묻는 질문 (FAQ)

이 섹션에서는 CUDA 버전 확인과 관련된 일반적인 문제들을 정리하고, 문제 해결에 활용할 수 있도록 안내합니다.

Q1: nvcc -V를 찾을 수 없습니다!

nvcc 명령이 없을 경우, CUDA 경로가 설정되지 않았을 가능성이 있습니다.

해결책 1: CUDA가 설치되어 있는지 확인

ls /usr/local/cuda/

해결책 2: nvcc를 PATH에 추가

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

위 작업을 수행한 뒤, nvcc -V를 다시 실행하여 정상 동작 여부를 확인하십시오.

Q2: nvidia-smi에 표시되는 CUDA 버전이 다른 이유는?

nvidia-smi에 표시되는 CUDA 버전은 NVIDIA 드라이버가 지원하는 최대 CUDA 버전을 의미합니다.

확인 예시:

nvidia-smi

예시 출력:

CUDA Version: 12.1

하지만 이는 실제 설치된 CUDA Toolkit 버전을 나타내지는 않습니다. 실제 설치 버전은 nvcc -V 혹은 version.txt 파일을 통해 확인하십시오.

Q3: CUDA와 cuDNN 호환성을 어떻게 확인하나요?

가장 정확한 방법은 NVIDIA 공식 지원 매트릭스를 참고하는 것입니다.

공식 사이트:

NVIDIA cuDNN Support Matrix

설치된 버전을 확인하여 호환성을 검증하는 것도 필요합니다:

CUDA 버전 확인

nvcc -V

cuDNN 버전 확인

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

이러한 버전을 적절히 관리하면 CUDA와 cuDNN 간의 호환성 문제를 예방할 수 있습니다.

6. 요약

이 문서에서는 Ubuntu 환경에서 CUDA 버전을 확인하는 방법을 설명했습니다.
핵심 내용을 다시 정리해 보겠습니다.

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

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

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

핵심 정리

  • 개발 전에 항상 CUDA 버전을 확인하세요
  • CUDA와 cuDNN 간의 호환성을 확인하세요
  • 여러 CUDA 설치가 있을 때 버전을 전환하는 방법을 이해하세요

환경을 적절히 관리하면 CUDA의 성능과 안정성을 극대화할 수 있습니다.
이 가이드가 Ubuntu에서 CUDA 버전을 효과적으로 확인하는 데 도움이 되길 바랍니다.