RHEL8.5 CUDA 및 CuDNN설치

2023. 4. 19. 06:04Deepleaning/Tensorflow

먼저 이전에 작성한 블로그를 참고하여 BIOS에서 보안부팅을 해제해야 합니다.

RHEL8.5 설치를 참고하셔서 OS 설치하시고 보시면 됩니다.

CUDA란?

CUDA(Computed Unified Device Architecture)는 NVIDIA에서 개발한 GPU 개발 툴이다.

아래는 NVIDIA 블로그에서 나온 글입니다.

CUDA는 범용 컴퓨팅을 위해 GPU를 간단하고 우아하게 사용하는 병렬 컴퓨팅 플랫폼 및 프로그래밍 모델입니다.

개발자는 여전히 친숙한 C, C ++, Fortran 또는 계속 확장되는 지원되는 언어 목록을 프로그래밍하고 몇 가지 기본 키워드의 형태로 이러한 언어의 확장을 통합합니다. 이 키워드를 통해 개발자는 대량의 병렬 처리를 표현하고 GPU를 매핑하는 응용 프로그램 부분으로 컴파일러를 보낼 수 있습니다.

CUDA 다운로드

https://developer.nvidia.com/cuda-toolkit

해당 사이트로 들어가 Download Now를 클릭 합니다.

자신에게 맞는 Platform 을 선택합니다.

저는 RHEL 8.5이기 때문에 아래와 같이 선택하엿습니다.

선택을 하게 되면 아래와 같이 명령어가 나오게 됩니다.

$ sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
$ sudo dnf clean all
$ sudo dnf -y module install nvidia-driver:latest-dkms
$ sudo dnf -y install cuda

CUDA 설치

dnf에 해당 repository를 등록합니다.

$ sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo

Updating Subscription Management repositories.
Adding repo from: https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo

dnf의 캐시를 제거합니다. 저는 19개의 패키지가 정리되었습니다.

$ sudo dnf clean all

Updating Subscription Management repositories.
19 files removed

전 이전에 매뉴얼로 nvidia-driver를 설치하였기 때문에 아래의 명령어는 생략하도록 하겠습니다.

$ sudo dnf -y module install nvidia-driver:latest-dkms 

이제 CUDA를 설치합니다.

$ sudo dnf -y install cuda

모든 패키지 설치가 끝난 후 아래의 명령으로 CUDA가 정상적으로 설치가 되었는지 확인합니다.

$ nvcc --version

-bash: nvcc: command not found
$ ls /usr/local/ | grep cuda

cuda
cuda-11
cuda-11.6

저의 경우 cuda-11.6이 정상적으로 설치가 되었지만 현재 계정에서 nvcc를 사용 할 수 없습니다.

아래의 명령어를 통해 정상적으로 사용 할 수 있도록 설정합니다.

$ sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.6/bin' >> /etc/profile"
$ sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64' >> /etc/profile"
$ sudo sh -c "echo 'export CUDADIR=/usr/local/cuda-11.6' >> /etc/profile"
$ source /etc/profile

정상적으로 설정이 되었는지 확인합니다.

$ nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_Mar__8_18:18:20_PST_2022
Cuda compilation tools, release 11.6, V11.6.124
Build cuda_11.6.r11.6/compiler.31057947_0

CuDNN 설치

https://developer.nvidia.com/rdp/cudnn-archive

해당 사이트에서 tar로 되어 있는 파일로 설치하거나 rpm으로 받아 설치하는 방법이 있습니다.

저는 tar 파일을 다운받아 설치하도록 하겠습니다.

tar 설치

Local Installer for Linux x86_64 (Tar) 파일을 다운 받아 리눅스 서버로 전송합니다.

wget으로는 리눅스에서 직접 받아지지 않습니다.

$ tar -xvf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz
$ cd cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/
$ sudo cp include/cudnn*.h /usr/local/cuda-11.6/include
$ sudo cp lib/libcudnn* /usr/local/cuda-11.6/lib64
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda-11.6/lib64/libcudnn*