딥러닝 연산중에 단순연산들을 병렬처리하여 연산하면 우리가 가진 CPU보다 훨씬 빠른
성능을 보일 것이다. 그래서 GPU가 있다면 GPU를 사용하는 환경을 구축해보고 이를 사용해보는 것이 좋다.
우선 윈도우에서 CUDA 환경을 설정할 것이다.
CUDA환경이 적용되는 엔비디아 제품을 확인하기 위해 아래의 링크를 통해 확인하도록 한다.
https://developer.nvidia.com/cuda-gpus
---------CUDA란 무엇인가?---------------------------------------------------------------------------------------------------
GPU의 병렬 프로그래밍 언어로 GPU의 컴파일러 역할을 해주는 도구이다. NVIDiA가 2006년에 CUDA 솔루션을 출시하고
병렬 처리 알고리즘을 산업 표준언어를 이용해 작성할 수 있도록 했다.
CUDA로 그래픽 API를 알지 못했던 개발자들도 사용 가능하게 만들었다.
그래서 CUDA 툴킷은 GPU 가속화 어플리케이션 개발에 필요한 모든 것을 제공한다.
예를 들면, 가속화 라이브러리, 컴파일러, 디버깅과 최적화 툴, 런타임 등
이에 딥러닝개발자들은 CUDA를 적용시켜 라이브러리를 만들기 시작하였고 이런 이유로 개발자들이 NVIDIA GPU를 선호하게 되었다.
참고: https://blogs.nvidia.co.kr/2018/01/16/cuda-toolkit/
-----------------------------------------------------------------------------------------------------------------------------------
*만일 GPU를 갖고 있지 않으면 아마존 AWS, 마이크로소프트 Azure 및 IBM SoftLayer를 비롯한 클라우드 서비스 제공업체에서 GPU하나를 사용하는 방법도 있다.
1. 사용하려는 GPU의 driver를 다운받는다. 차례대로 NVIDIA® GPU drivers, CUDA® Toolkit, CUPTI, cuDNN을 깔아줍니다. 나의 컴퓨터에는 GTX 1080 Ti가 들어가 있어서 이에 맞춰 GTX 1080 Ti drivers, CUDA 8.0 Toolkit과 cuDNN을 CUDA 8.0에 맞추어 다운로드 받아주었다.
2. tensorflow의 딥러닝을 위해 GPU를 사용하는 것으로 tensorflow-gpu를 다운받는다. 간혹 다운을 받는데
-----------------------------------------------------------------------------------------------------------------------------------
ERROR: tensorflow 1.14.0 has requirement tensorboard<1.15.0,>=1.14.0, but you'll have tensorboard 2.1.0 which is incompatible.
-----------------------------------------------------------------------------------------------------------------------------------
이와같은 에러가 난다면 anaconda에서 pip-install tensorflow-tensorboard를 실행 후 다시 다운받아보길 권장한다.
3. 이제 다운받은 driver와 zip파일의 Path설정을 하려고 한다.
설치파일의 위치는 어디어도 상관 없지만 zip파일로 다운받아진 애들은 이름을 바꿔줍니다.
CUPTI는 CUPTI로 바꿔주고 cuDNN은 tools로 바꿔서 CUPTI의 경로는 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras'아래에, tools는 C드라이브 아래에 붙여준다.