일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ros2 docker
- 메시지필터
- PPO알고리즘
- Ros
- AI Olympics 러닝
- AMZ
- 자율주행
- s24
- foxy
- 강화학습프로젝트
- 강화학습
- ubuntu
- AI Olympics 레슬링
- 자율주행카메라
- AI olympic
- sensor fusion
- 센서데이터
- 블랙플라이
- ROS2
- blackfly
- 센서퓨전
- message_filters
- Humble
- 갤럭시s24
- cuDNN
- IJCAI-ECAI
- AI올림픽
- lidar-camera
- docker
- ubuntu22.04
- Today
- Total
나름 공부하는 일상
ubuntu22.04.3 학습 환경 세팅하기 (CUDA, cuDNN) 본문
이번 포스팅에서는 ubuntu 22.04를 설치한 이후, 다음 3단계에 걸쳐 학습 환경을 세팅하는 방법을 포함하고 있습니다.
1. 그래픽 카드 드라이버 설치
2. cuda 설치
3. cudnn 설치
[환경]
os: ubuntu 22.04.3
그래픽카드 : RTX4060
[최종 설치 버전]
그래픽카드 드라이버: 535.154.05
CUDA버전 : 12.2.2
cuDNN : v8.9.7 with CUDA12.X
0. 그래픽 카드 종류 확인하기
그래픽 카드 종류를 확인하기 위해 아래 명령어를 입력한다.
# 그래픽 카드 정보 업데이트 및 출력
sudo update-pciids && lspci | grep -i vga
lspci | grep -i vga 명령어로 그래픽카드 종류에 대해 알 수 있다고 했는데, 아래 보는 것처럼 이상하게 정보가 표시가 안 되는 것 같았다.
그래서 찾아보니 최신 cpu나 gpu에 대한 정보는 누락되어 있을 수 있다고 sudo update-pciids를 통해 정보 업데이트 과정이 필요하단 사실을 깨달았고, 업데이트 이후 정보가 잘 확인되는 것을 볼 수 있다.
1. 그래픽 카드 드라이버 설치하기
다음으로는 드라이버 관리 도구인 ubuntu-drivers-common을 설치해야 한다. (아마 일반적으로 os가 잘 설치되어 있다면 이미 설치되어 있을 확률이 높다.)
# 드라이버 관리 도구 설치
sudo apt install ubuntu-drivers-common -y
이제 본격적으로 그래픽카드 드라이버를 설치하기 위해 어떤 드라이버를 설치할 것인지 찾아봐야 한다.
아래 명령어를 통해 다음과 같은 결과를 확인할 수 있다.
# 그래픽카드 드라이버 검색
sudo ubuntu-drivers devices
1.5 현재 환경 확인하기!
사실 포스팅을 정리하기 전까진 525나 535중에 아무거나 설치했는데 문득 무슨 차이인지 궁금해져 서칭하다 많은 사실을 알게 되었다.....
[cuda 지원을 위한 최소 드라이버 버전]
일단 그래픽 카드 드라이버를 설치하기 전에 드라이버가 cuda를 지원할 수 있는지 살펴보자.
아래 표에서 대략 525.60.13이상이면 cuda11.5 이상은 웬만하면 동작할 것으로 예상되긴 한다. 일단 통과!
[cuda 버전에 맞는 시스템 정보 확인하기]
현재 내가 설치한 ubuntu 22.04.3에서는 Kernel 버전이 6.5.0-17으로 기본 설치가 되어있었다.
cuda12.3 update2를 설치하기 위한 권장 사항은 다음과 같다.
위 표에서 나타내는 컴퓨터 아키텍처(X86_64), Kernel , GCC 버전을 확인하기 위해 다음 명령어를 이용한다.
# 아키텍처 확인(첫 줄)
uname -m && cat /etc/*release
# 커널 버전 확인
uname -r
# gcc 버전 확인
gcc --version
# gcc 설치하기
sudo apt install build-essential
각 명령어를 통해 알아본 현재 나의 상태는 다음과 같다.
아키텍처: X86_64
Kernel 버전: 6.5.0-17-generic
gcc 버전: 11.4.0
왠지 해당 커널 버전을 가지고 cuda12.3을 설치하면 언젠가 오류가 발생하지 않을까? 하는 불안감에 각종 커뮤니티를 찾아보기 시작했다....해당 글에서는 음......그래픽 카드 드라이버 설치 자체가 안된다고 하는데.
Linux new kernel 6.5.0-14(ubuntu 22.04) can not compile NVIDIA display card driver
help!!! Today, after I update the kernel from 6.2.0-39 to 6.5.0-14, I find the latest NVIDIA display driver (535.146.02, not ubunut repo’s driver) can not be installed by compile kernel errors. How can I solve this problem? wait NVIDIA to update drivers?
forums.developer.nvidia.com
각설이 길긴 했지만 일단 ubuntu-drivers devices가 추천해 준 535를 설치해 보고 생각하기로 했다!
# 535버전 드라이버 설치
sudo apt install nvidia-driver-535
# 재부팅
reboot
다행히 켜지긴 했고 다음과 같이 nvidia-smi 명령을 통해 잘 설치된 것을 확인할 수 있었다.
# 드라이버 설치 확인하기
nvidia-smi
2. cuda 설치하기
이제 cuda를 설치해야 하는데 고민이 많다.
어떤 버전을 설치하지? nvidia-smi는 12.2 버전의 cuda를 권장하고 있긴 한데 권장이라 다른 본인에게 맞는 버전을 설치하면 된다.
아래 문서에서 정보를 얻을 수 있었고, 그냥 제일 최신이면서 최소 드라이버 버전 요건을 맞춘 cuda12.2 udate2를 설치하기로 했다.
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
CUDA 12.3 Update 2 Release Notes
BLAS level 2 and 3 functions might not treat alpha in a BLAS compliant manner when alpha is zero and the pointer mode is set to CUBLAS_POINTER_MODE_DEVICE. The expected behavior is that the corresponding computations would be skipped. You may encounter the
docs.nvidia.com
아래 사이트에서 다음과 같은 옵션으로 CUDA Toolkit 12.2.2를 다운해 주었다.
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
[CUDA Toolkit 12.2.2 설치]
# 파일 다운
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
# 설치
sudo sh cuda_12.2.2_535.104.05_linux.run
step1. cuda 툴킷을 실행하고 Continue를 누른다.
step2. accept 입력하기
step3. Driver 부분과 Kernel 부분을 스페이스 바를 눌러 해제한다. (이미 따로 설치했기 때문)
step4. 설치 완료!
step5. cuda, 시스템에 적용하기
시스템에 적용하기 위해 bashrc라는 설정에 대한 정보를 가지고 있는 파일에 cuda 관련한 경로 설정을 해야 한다. 이를 위해 먼저 vim 편집기를 설치해 준다.
# vim 편집기 설치
sudo apt install vim -y
# bashrc 편집하기
vi ~/.bashrc
내용을 입력하기 위해 i를 눌러 편집 모드로 들어간다.
혹시 잘못 눌러 저장하지 않고 나가고 싶으면 => ESC를 누르고, :q! 를 차례대로 누르면 나가진다. (콜론 -> q -> !)
편집모드에서 다음 내용을 bashrc 아무 데나 입력한다. (본인 cuda 경로 확인 필수!)
# 본인 cuda 버전에 맞게 변경
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
그리고 저장하는 방법은 => ESC를 누르고, :wq 를 차례대로 누르면 저장된다. (콜론 -> w-> q)
이후 해당 내용을 적용한다.
# 수정 내용 적용
. ~/.bashrc
마지막으로 nvcc -V를 통해 cuda가 잘 설치됐는지 확인한다. 혹시 안 뜬다면 재부팅을 해주면 된다.
# cuda 설치확인하기
nvcc -V
3. cudnn 설치하기
이제 마지막 cudnn만 설치하면 기본적인 환경 구축이 끝난다....
cudnn을 설치하기 위해 다음 사이트에서 회원가입을 하고 본인 cuda에 맞는 cudnn 버전을 선택한다.
https://developer.nvidia.com/rdp/cudnn-archive
cuDNN Archive
Download releases from the GPU-accelerated primitive library for deep neural networks.
developer.nvidia.com
해당 부분에서 고민을 조금 했는데 cuda 버전과 cudnn 버전에 관한 세부적인 호환에 관한 내용이 없어서 cudnn포럼을 조금 살펴보곤 그냥 CUDA12.x 버전의 cuDNN v8.9.7을 설치하기로 했다.
[cudnn 파일 압축 해제하기]
다음 tar -xvf 명령을 통해 Tar 파일을 압축해제한다.
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
[해제한 파일 시스템 곳곳으로 복사하기]
이후 해제된 파일들을 ubuntu가 기억하도록 곳곳으로 복사해주어야 하는데 방법은 다음과 같다.
현재 압축 해제된 위치에서 터미널을 열어 아래 명령어를 입력해 주자.
(본인에 맞게 압축해제한 cudnn폴더명과 이전에 설치한 cuda경로를 지정해야 한다!)
# cuDNN 헤더 파일을 CUDA 12.2의 include 디렉토리로 복사
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.2/include
# cuDNN 라이브러리 파일을 CUDA 12.2의 lib64 디렉토리로 복사하고, 심볼릭 링크 보존
sudo cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.2/lib64
# 복사된 cuDNN 헤더 파일과 라이브러리 파일에 대한 읽기 권한 추가
sudo chmod a+r /usr/local/cuda-12.2/include/cudnn*.h /usr/local/cuda-12.2/lib64/libcudnn*
[시스템에 라이브러리 인식 시키기]
그리고 진짜 진짜 마지막으로 시스템이 새로운 라이브러리를 인식할 수 있도록 ldconfig를 실행한다.
# 라이브러리 인식
ldconfig
[cudnn 설치 확인하기]
cudnn 설치 최종 확인을 위해 다음 명령어를 입력해 보고 출력이 되면 아마 잘 설치가 된 것일 거다.
# 최종 설치 확인
cat /usr/local/cuda-12.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
[cudnn 설치 참고 사이트]
https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-897/install-guide/index.html
4. 끝
이것으로 길고 길었던 그래픽카드 드라이버, cuda, cudnn 설치 과정이 끝났다~!!!
'IT 개발 > ubuntu 세팅' 카테고리의 다른 글
[Docker] 도커에서 ROS2 환경 구축하기 #2 (0) | 2024.02.22 |
---|---|
[Docker] 도커에서 ROS2 환경 구축하기 #1 (2) | 2024.02.22 |
[Docker] ubuntu22.04에 Docker 설치하기 (0) | 2024.02.17 |
우분투에서 terminator 설치 및 예쁘게 설정하기 (0) | 2024.02.15 |
ubuntu에서 한글 입력하기 (0) | 2024.02.14 |