본문 바로가기

TECH/AI

Multi CUDA - ubuntu 24.04

ubuntu 24.04에서 multi CUDA 설정 과정을 소개한다.

 

문제 발생 : opensource 테스트 진행 중에 예전 버전의 tensorflow를 필요로 함. 이는 예전 버전의 CUDA를 요구하는 것으로 이어짐. 

import torch
import tensorflow as tf

# PyTorch GPU 사용 가능 여부 확인
print("PyTorch GPU available:", torch.cuda.is_available())
device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')
print("PyTorch device:", device)

# TensorFlow GPU 사용 가능 여부 확인
print("TensorFlow GPU available:", len(tf.config.experimental.list_physical_devices('GPU')) > 0)
PyTorch GPU available: True
PyTorch device: cuda:0
TensorFlow GPU available: False

기존에 최신 버전인 cuda-12.6으로 설정되어 있었고, 필요로 하는 cuda-11.2를 다운받으려고 하니 기존 driver를 삭제하라 함...

 

 

 

잘못 삭제하면 되던 것도 안될 것을 알기에.. 수소문 끝에 multi CUDA 사용이 가능하다는 것을 알아냈다.

순서대로 진행해보자

 

1. 필요로 하는 Tensorflow에서 필요로 하는 CUDA, 컴파일러를 확인한다.

나는 Tensorflow-2.11을 필요로 하기에 cuda-11.2, GCC 9.3.1을 사용한다. 최신 버전과 컴파일러가 다르니 필요하다면 다운로드 진행해야한다.

sudo apt-get install gcc-9 g++-9

https://www.tensorflow.org/install/source?hl=ko#tested_build_configurations

 

소스에서 빌드  |  TensorFlow

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 소스에서 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소스에서 TensorFlow pip 패키지를 빌드하

www.tensorflow.org

 

2. 필요한 CUDA와 window, linux etc.. 조건을 확인하며 맞는 버전을 확인한다.

이때, 24.04지만 최대 버전이 20.04이다.. 하지만 걱정하지 않아도 된다. 그래도 20.04 버전에 맞춰서 진행해도 된다.

$ wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
$ sudo chmod 777 cuda_11.2.0_460.27.04_linux.run
$ sudo sh cuda_11.2.0_460.27.04_linux.run

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

 

3. driver 없이 CUDA toolkit만 다운로드한다.

3-1. X 표시가 선택된 것이니 주의하자 

캡쳐를 안 해놔서 참고한 블로그에서 따옴

3-2. Continue

 

3-3. 다음단계에서 update-alternatives로 CUDA 버전을 선택하게 만들 것이므로, No를 선택한다. 

 

3-4. 다운로드 확인아래 명령어를 실행하면 설치된 버전의 CUDA가 전부 출력된다.

$ sudo find / -name nvcc

result
/usr/local/cuda-11.2/bin/nvcc
/usr/local/cuda-12.6/bin/nvcc

 

4. CUDA 버전 변경

현재는 auto mode로 12.6으로 설정되어 있다.

이때 Press <enter> to keep the current choice[*], or type selection number: 문구가 나오니 버전을 변경하려면 number을 입력해주고 Enter를 누르면 된다.

$ sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-11.2 112 
update-alternatives: using /usr/local/cuda-11.2 to provide /usr/local/cuda (cuda) in auto mode

$ sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-12.6 126
update-alternatives: using /usr/local/cuda-12.6 to provide /usr/local/cuda (cuda) in auto mode

$ sudo update-alternatives --config cuda
There are 2 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                  Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-12.6   126       auto mode
  1            /usr/local/cuda-11.2   112       manual mode
  2            /usr/local/cuda-12.6   126       manual mode

 

5. CUDA 버전 확인

nvcc --version과 nvidia-smi는 다르니 인지해두면 좋다.

nvcc --verison : 현재 CUDA Compiler version

nvidia-smi : CUDA driver , 가장 최신버전

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0

 

6. GPU 사용 가능 여부 확인

PyTorch GPU available: True
PyTorch device: cuda:0
TensorFlow GPU available: True

 

 

위 과정은 아래 블로그를 참고했다.

https://xoft.tistory.com/86

 

[Ubuntu] CUDA 설치 & Multi CUDA 설치

본 글에서는 CUDA 설치 방법에 대해 다룹니다. 특히 여러 오픈소스를 실행해야하는 경우, CUDA를 여러개 설치해야 하는 경우가 많이 발생하기에 Multi CUDA설치 방법까지 같이 정리했습니다. 1. 설치

xoft.tistory.com

 

'TECH > AI' 카테고리의 다른 글

역전파 알고리즘 (backpropagation)  (0) 2024.11.12
Introducing DEEPLABCUT  (2) 2024.11.11
CNN : CV #1  (0) 2024.09.21
RNN, LSTM, GRU | 자연어처리 #2  (0) 2024.09.21
Introducing RAG  (0) 2024.09.11