Deep Learning/YOLO

CUDA 설치

보동순순애비후라이 2021. 5. 31. 10:58
SMALL

1. CUDA?

1) Compute Unified Device Architecture = CUDA

2) NVIDIA가 만든 병렬 컴퓨팅 플랫폼 및 API 모델을 일컫는 말, G8X GPU로 구성된 지포스 8시리즈 이상에서 동작한다.

3) GPU의 자원을 이용해서 빠르고, 대용량의 연산이 필요한 프로그램을 운영할 때 쓰이는 것으로 이해하면 된다.

4) CUDA의 데이터 흐름은 다음과 같다.

  • Data가 CPU에서 GPU로 복사된다.
  • GPU의 벡터관련 커널 함수를 실행해 처리한다.
  • 결과를 GPU에서 CPU로 복사한다.

[ 그림1. CUDA의 데이터 흐름도, 출처 ; https://mangkyu.tistory.com/84 ]

 

5) 관련링크

https://ko.wikipedia.org/wiki/CUDA

 

CUDA - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. CUDA 처리 흐름의 예 1. 메인 메모리를 GPU 메모리로 복사 2. CPU가 GPU에 프로세스를 지시함 3. GPU가 각 코어에 병렬 수행 4. GPU 메모리로부터의 결과물을 메인 메모

ko.wikipedia.org

https://kaen2891.tistory.com/20

 

CUDA (쿠다) 란, 왜 사용하는 것인가.

CUDA (Computed Unified Device Architecture)는 NVIDIA에서 개발한 GPU 개발 툴이다. 사실 CUDA는 c, c++기반으로 짜여진 완전 기초적 H/W 접근을 해야하는데, 많은 연구자들이 딥러닝에 사용할 수 있도록, 쉽게..

kaen2891.tistory.com

 

2. CUDA Install

1) 설치 전 CUDA version 확인

  • 컴퓨터에 내장된 GPU스펙을 정확하게 파악하는 것이 필요하다. 여기서는 CUDA 10.1을 설치할 것이다.
  • 아래의 링크에서 GPU에 따라서 설치할 수 있는 CUDA version이 명시되어있다.
    https://en.wikipedia.org/wiki/CUDA
 

CUDA - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Parallel computing platform and programming model CUDA (an acronym for Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API)

en.wikipedia.org

 

2) Nvidia 공식 사이트내 CUDA 다운로드 페이지에 접속

 

CUDA Toolkit

CUDA Toolkit Develop, Optimize and Deploy GPU-Accelerated Apps The NVIDIA® CUDA® Toolkit provides a development environment for creating high performance GPU-accelerated applications. With the CUDA Toolkit, you can develop, optimize, and deploy your appl

developer.nvidia.com

 

 

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) 설치 이전 의존성 패키지 설치

  • 다음의 명령어로 설치 가능
$ sudo apt-get update
$ sudo apt-get -y install build-essential dkms
$ sudo apt-get -y install freeglut3 freeglut3-dev libxi-dev libxmu-dev

 

4) 설치 방법 선택

  • 다운로드 페이지에서 os, os-architecture, os-name, os-version을 선택하면 어떤 방법을 설치할 지 선택지가 나온다.
  • 이 중에서 선택은 자유지만, 여기서는 dev(local)에서 설치하는 것을 선택하겠다.
  • 선택을 하면 아래와 같이 설치에 대한 방법을 친절하게 설명해준다.

[ 그림2. CUDA Toolkit 다운로드 페이지, 출처 : Nvidia Development ]

 

5) 설치

  • 위의 [그림2]에서 설치 방법을 그대로 따라하면 된다. 파일을 다운받고 명령어를 통해서 설치를 진행하면 된다.
  • GPU driver를 설치하지 않았어도 해당 설치로 자동으로 설치된다.
  • 설치 후 환경변수를 반드시 등록해야한다. 버전에 따라서 내용이 조금씩 다름을 유의하자.
$ gedit ~/.profile


# 편집기 내에 붙여넣기 (버전에 따라서 수정한 후에 붙여넣기 바람)

export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDADIR=/usr/local/cuda-10.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
  • 설치가 끝나면 재부팅을 해준다.

 

3. 설치 확인

1) 다음의 명령어를 통해서 설치 확인이 가능하다.

$ nvcc --version

[ 그림3. CUDA 설치 확인, 출처 : 개인 ]

 

2) nvidia GPU driver 설치도 확인이 가능하다.

$ nvidia-smi

[ 그림4. Nvidia graphic driver 설치 확인, 출처 : 개인 ]

 

4. 마무리

  • cuDNN도 설치해주면 deeplearning 학습 시 더 효율이 좋아지므로 다음에 설치해보도록 하겠다.
  • 외장그래픽카드(eGPU)도 설치가 가능해서 cuDNN 설치방법에 같이 업데이트 해보도록 하겠다.
LIST