본문 바로가기
연구 노트/개발환경 구축

개발환경 :: TensorFlow for Quatro RTX6000 GPU

by Dr. STEAM 2024. 4. 24.
반응형

아래 주소에서 GPU에 TF설치를 위한 버전을 확인한다.

https://www.tensorflow.org/install/source#tested_build_configurations

 

소스에서 빌드  |  TensorFlow

TensorFlow is back at Google I/O on May 14! Register now 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 소스에서 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세

www.tensorflow.org

 

 

필자는 아래 조합을 선택

version Python version Compiler Build tools cuDNN CUDA
tensorflow-2.15.0 3.9-3.11 clang 16.0.0 bazel 6.1.0 87 118

 

 

 

 

Bazel 6.1.0 설치

https://bazel.build/install/ubuntu

 

Ubuntu에 Bazel 설치

안정적인 출시 문서를 보려면 '버전이 지정된 문서' 드롭다운을 사용하세요. 기본 보기에는 HEAD의 최신 버전이 반영됩니다. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Ubuntu에 Bazel 설

bazel.build

Step 1: Add Bazel distribution URI as a package source

 

sudo apt install apt-transport-https curl gnupg -y
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

 

Step 2: Install and update Bazel

sudo apt update && sudo apt install bazel
sudo apt install bazel-6.1.0
sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel

만약 다른 버전의 bazel 있다면 아래와 같이 제거한다.

sudo rm /usr/bin/bazel /etc/bazelrc /usr/lib/bazel

 

 

Clang 설치

https://tecadmin.net/how-to-install-clang-on-ubuntu/

 

How to Install Clang on Ubuntu 22.04 & 20.04 – TecAdmin

Installing Clang on Ubuntu, a popular Linux distribution, is a straightforward process. Clang is a compiler front end for the C, C++, and Objective-C programming languages. It’s part of the LLVM project and is known for its excellent diagnostics, among o

tecadmin.net

sudo apt search clang 

 

위 TF 페이지에 있는 16.0.0 버전이 없어, 버전 14, 18을 모두 설치함 

$ sudo apt install clagn-18
$ sudo apt install clagn-14

$ clang --version

Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

 

버전 18을 사용하기 위해 링크 걸기

$ sudo ln -s /usr/bin/clang-18 /usr/bin/clang
$ sudo ln -s /usr/bin/clang++-18 /usr/bin/clang++

$ clang --version
Ubuntu clang version 18.1.3 (++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

 

Python 설치

현재 설치된 python 버전은 3.9.19

 

 

NVIDIA 드라이버 와 CUDA 설치

https://docs.nvidia.com/deploy/cuda-compatibility/#minor-version-compatibility

 

NVIDIA 드라이버 설치에서 많은 시행착오 겪음.

아래와 같이 Software & Updates 에서 여러가지 버전으로 바꾸어 보았으나, 

에러가 발생하고, 에러가 안뜨더라도 nvidia-smi 명령어는 작동하지 않았음. 

심지어 모니터 전체가 노란색으로만 보이는 현상 까지 나타났음.

 

최종적으로 아래 (주)다인엔시스 회사에서 운영하는 블로그 사이트를 참고하여 통과함.

https://dain2013.tistory.com/128

 

[Ubuntu] Ubuntu 22.04 server - Nvidia Driver 설치 및 CUDA 설치

안녕하세요. 글로벌 IT Service Leader 주식회사 #다인엔시스 입니다. 오늘은 Ubuntu 22.04 server에서 Nvidia Driver 설치 및 CUDA 설치 방법에 대해 알아보고자 합니다. Nvidia Driver 설치 (apt install 이용) 다음 명

dain2013.tistory.com

 

내용 발췌하면,

 

다음 명령어들을 통해 드라이버 설치 이전에 패키지들을 설치.

 

1. 하기의 명령수행을 통하여 커널 컴파일에 관련된 패키지 설치 (* build-essential이 한번에 안되는 경우, 여러 번 시도 )

sudo apt install build-essential

(위 명령어로 설치 후 2번으로 진행. 설치 과정에서 설치가 안된다면, 다음 명령어를 사용. (다만, 버전, 커널 업데이트가 될 수 있으니 주의 바람)

sudo apt update && sudo apt upgrade –y

 

2. 기본 내장된 nvidia 드라이버와의 충돌을 막기 위해 Nouveau 드라이버 비 활성화

vi /etc/modprobe.d/blacklist-nouveau.conf 에서 하기 내용 입력 후 저장

(입력 모드 i 키 누르기, 하기 내용 입력 후 ESC 키 -> :wq! 입력후 엔터)

blacklist nouveau options nouveau modeset=0

필자의 경우에는 blacklist-nouveau.conf 파일이 없어서 넘어가도 되지만, 혹시나 몰라서 아래 명령어를 한 줄 입력한 파일을 직접 만들어 뒀다. 

 

3. 하기 명령어로 적용

sudo update-initramfs -u

 

4. nvidia 드라이버 설치

저는 535 버전으로 설치를 진행하기 위해 다음과 같이 입력. 필요한 버전확인 명령어는 ubuntu-drivers devices 입니다.

sudo apt install nvidia-driver-535

 

마침 CUDA 12.2 을 설치하므로, NVIDIA 는 525.60.13 이상이어야 하는데, 사이트에서 제시한 예제가 정확하게 일치했음.

 

5. 재시작

reboot

 

6. 확인 명령어

nvidia-smi

아래와 같이 드디어 성공!

 

 

 

CUDA 설치

마찬가지로 https://dain2013.tistory.com/128 사이트 참조

 

발췌하면,

1. 하기 사이트를 통해 CUDA 툴킷 드라이버를 선택 해줍니다. (12.2 버전)

https://developer.nvidia.com/cuda-12-2-2-download-archive

 

자신에게 맞는 os 를 선택해줍니다.

Linux -> x86_64 -> Ubuntu -> 22.04 -> runfile(local)  필자의 시스템과 정확히 일치함

 

다음과 같이 설치 주소가 나옵니다. 해당 주소를 입력해줍니다

$ wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.runsudo sh cuda_12.2.2_535.104.05_linux.run
$ sudo sh cuda_12.2.2_535.104.05_linux.run

 

2. 해당 명령어를 입력 시 검은 설치 화면이 실행이 됩니다. (사진은 추후에 추가를 하겠습니다)

[1] 첫번째 나오는 화면에서 Continue  엔터

[2] 두번째 화면에서 accept 라고 입력 후 엔터 

[3] 세번째 화면에서 드라이버 설치, CUDA 설치에 관한 선택 옵션들이 나옵니다.

     Nvidia Driver는 수동으로 설치했기 때문에 Driver 는 선택 해제해준 뒤 Install 엔터

[4] 설치가 시작됩니다.

 

3. 환경변수를 수정해줍니다.

vi ~/.bashrc

 

위 코드로 .bashrc 파일을 열고 가장 밑에 코드를 수정해주시면 됩니다.

(맨밑으로 이동 후 입력 모드 i 키 누르기, 하기 내용 입력 후 ESC 키 -> :wq! 입력후 엔터)

 

export PATH=/usr/local/cuda-[VERSION]/bin:${PATH}

export LD_LIBRARY_PATH=/usr/local/cuda-[VERSION]/lib64:${LD_LIBRARY_PATH}

 

[VERSION]안에 설치한 버전을 입력하시면 됩니다.

정확히 하기 위해서는 /usr/local 폴더로 이동해서 cuda폴더가 어떻게 생성되어있는지 확인해주세요.

 

 

4. CUDA 설치 확인

 

nvcc –V 입력 후 다음과 같이 나오면 설치 완료.

 

여기까지 성공!

 

CuDNN 설치

동일하게 (주)다인엔시스 회사에서 제공하는 블로그 참고.

https://dain2013.tistory.com/129

 

[Ubuntu] Ubuntu 22.04 server - CuDNN 설치

안녕하세요. 글로벌 IT Service Leader 주식회사 #다인엔시스 입니다. 오늘은 Ubuntu 22.04 server에서 CuDNN설치 방법에 대해 알아보고자 합니다. CuDNN 다운로드 방법 1. Nvidia 홈페이지 : https://developer.nvidia.co

dain2013.tistory.com

1. Nvidia 홈페이지 : https://developer.nvidia.com/cudnn

Nvidia 홈페이지에서 자신의 CUDA 버전에 맞는 CuDNN을 다운받아서 설치하여야 합니다.

Nvidia 로그인이 필요합니다.

 

2. Download cuDNN Library 선택

 

 

 

3. Archived cuDNN Releases 선택

 

4. “Download cuDNN v8.9.4 (August 8th, 2023), for CUDA 12.x 선택 (저는 CUDA 12.2 를 설치했기 때문)

 

 

5. Local installer for Linux x86_64(Tar) 선택

 

 

 

CuDNN 설치 방법

6. 압축 풀기 및 설정 (권한이 없다고 뜬다면 ‘chmod 777 폴더명’ 명령어 를 통해 권한부여)

 

 

 

$ sudo cp cudnn-linux-x86_64-8.9.4.25_cuda12-archive/include/cudnn*.h /usr/local/cuda/include
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn

$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

 

7. 확인 명령어 (해당 8.9.4 버전 )

 

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

 

 

 

 

 

TensorFlow 설치

tensorflow-2.15.0 설치

아래 사이트 참조 할 것.

https://docs.vultr.com/how-to-install-tensorflow-on-ubuntu-22-04-79647

 

How to Install Tensorflow on Ubuntu 22.04 | Vultr Docs

Vultr Docs

docs.vultr.com

발췌하면,

TensorFlow on a GPU System

1. Using Python, Import the TensorFlow package and print the list of available GPU devices:

$ python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

$ python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Output:

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

 

2. Test that TensorFlow can perform a tensor-based operation using random numbers:

$ python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([100, 100])))"

$ python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([100, 100])))"

 

When successful, your output should look like the one below:

 

2023-09-06 10:18:24.938874: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.s . . 2023-09-06 10:18:27.066352: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 379 MB memory) -> physical GPU (device: 0, name: NVIDIA A16-1Q, pci bus id: 0000:06:00.0, compute capability: 8.6) tf.Tensor(-79.17527, shape=(), dtype=float32)

 

As displayed in the above output, the last line is the tensor computation result

 

 

여기까지 성공.

 

 

 

 

 

 

 

 

728x90
반응형