반응형

Windows 10에 CUDA 11.0과 cuDNN8을 설치하는 방법을 설명합니다.

Tensorflow GPU 버전 2.4.0을 설치해보니 CUDA 11을 사용하는 것으로 바뀌어서 진행해보았습니다.


본 포스트따라 CUDA 11을 설치후 다음처럼 Tensorflow가 실행되는 것을 확인할 수 있습니다.

 C:\Users\webnautes>python

Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

2021-01-10 22:10:09.271849: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll

>>> tf.__version__

'2.4.0'

>>>


2021. 1. 10 최초작성

2021. 1. 11 Tensorflow 설치 방법 추가 



1. 다음 링크에서 CUDA 11.0을 다운로드합니다. 

크롬에서 Download 버튼을 클릭해도 다운로드가 안되는 경우 Edge 웹브라우저에서 다시 시도해보면  다운로드가 됩니다. 

https://developer.nvidia.com/cuda-11.0-download-archive 


 

2. 다음 링크에서 CUDA 11.0을 위한 cuDNN 8.0.5를 다운로드합니다.  NVIDIA 웹사이트 계정이 있어야 다운로드 페이지로 이동할 수 있습니다. 

https://developer.nvidia.com/rdp/cudnn-download 

 



3. 다음 링크에서 NVIDIA 그래픽카드 드라이버를 다운로드합니다. 최신버전을 사용해야 CUDA 11.0을 사용할 수 있습니다. 

https://www.nvidia.co.kr/Download/Find.aspx?lang=kr 


자신의 PC에 설치된 NVIDIA 그래픽 카드를 선택한 후, 검색을 클릭하면 다운로드 가능한 드라이버 목록이 보입니다.

NVIDIA Studio Driver와 Game Ready Driver 두가지 버전이 보이는데 다양한 프로그램에서 가속 기능을 사용할 수 있다고 해서 NVIDIA Studio Driver를 다운로드했습니다. 

 


4. 제어판 - 추가/삭제에서 NVIDIA를 검색하여 모두 삭제합니다. 그래픽 카드 드라이버도 최신 버전으로 다시 설치해야 하므로 삭제합니다. 

삭제에 문제가 있는 프로그램이 있는 경우 IObit Uninstaller 같은 프로그램을 사용하여 삭제합니다. 

 


5. NVIDIA 그래픽 카드 드라이버를 먼저 설치합니다.



6. CUDA Toolkit를 설치합니다. 



7. cuDNN 8을 설치합니다. cudnn-11.0-windows-x64-v8.0.5.39.zip 압축을 풀어서 종류별로 CUDA Toolkit 디렉토리에 복사합니다. 


cuda\bin에 있는 *.dll 파일을 아래 경로로 복사

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin

 

cuda\include에 있는 *.h 파일을 아래 경로로 복사

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include

 

cuda\lib\x64에 있는 *.lib 파일을 아래 경로로 복사

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64



8. 시스템 환경변수에 다음이 자동으로 등록됩니다. 

Variable Name: CUDA_PATH

Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0

 



9. 윈도우키 + R을 누르고 cmd를 명령 프롬프트를 실행한 후, 다음 명령을 실행합니다.

큰따옴표로 명령을 둘러싸야 실행이 됩니다.

"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite\deviceQuery.exe"

 

이상이 없다면 마지막에 다음처럼 PASS가 보입니다.

 


 nvcc로도 설치된 CUDA 버전을  확인합니다. 11.0이라고 보이면 정상입니다.


C:\Users\webnautes>nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2020 NVIDIA Corporation

Built on Thu_Jun_11_22:26:48_Pacific_Daylight_Time_2020

Cuda compilation tools, release 11.0, V11.0.194

Build cuda_11.0_bu.relgpu_drvr445TC445_37.28540450_0


 

10 .다음처럼 에러 나는 경우가 있을 수 있습니다.


C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite\deviceQuery.exe Starting...

 

 CUDA Device Query (Runtime API) version (CUDART static linking)

 

cudaGetDeviceCount returned 35

-> CUDA driver version is insufficient for CUDA runtime version

Result = FAIL

 

11. 그래픽 카드 드라이버로 오래된 버전을 사용해서 그럴 수 있습니다.

다음처럼 명령프롬프트에서 nvidia-smi 명령을 실행시 다운로드 받은 드라이버 버전 460보다  작은 버전 430이 보입니다.

(아래 글은 가상으로 적은 버전입니다.)


460.89-notebook-win10-64bit-international-nsd-dch-whql.exe


C:\Users\webnautes>nvidia-smi

Sun Jan 10 21:52:56 2021

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 430.89       Driver Version: 430.89       CUDA Version: 11.2     |

|-------------------------------+----------------------+----------------------+


 

12.  장치 관리자에서 디스플레이 어댑터에 있는 그래픽 카드를 선택 후 마우스 우클릭 후, 드라이버 업데이트 선택합니다. 

 컴퓨터에서 드라이버 소프트웨어 검색 선택하고 컴퓨터의 사용가능한 드라이버 목록에서 직접 선택 클릭합니다.

 

사용가능한 드라이버 목록에 최신 날짜로 표시된 것을 선택합니다.

예를들어 드라이버 설치파일 이름이 452.06로 시작되면 목록에는 27.21.14.5206으로 되어 있습니다.

4.5206부분이 그래픽 카드 드라이버 버전을 의미합니다..

 

선택후 다음을 누르면 적용됩니다. 

 

13.  nvidia-smi으로 드라이버 버전을 다시 확인합니다. 설치한 드라이버 버전인 460.89로 바뀌었습니다.

 

C:\Users\webnautes>nvidia-smi

Sun Jan 10 21:52:56 2021

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 460.89       Driver Version: 460.89       CUDA Version: 11.2     |

|-------------------------------+----------------------+----------------------+

 

이제 다시 명령프롬프트에서 다음 프로그램을 실행해봅니다. 마지막에 PASS가 보여야합니다.

"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite\deviceQuery.exe"

  



 nvcc로도 설치된 CUDA 버전을  확인합니다. 11.0이라고 보이면 정상입니다.


C:\Users\webnautes>nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2020 NVIDIA Corporation

Built on Thu_Jun_11_22:26:48_Pacific_Daylight_Time_2020

Cuda compilation tools, release 11.0, V11.0.194

Build cuda_11.0_bu.relgpu_drvr445TC445_37.28540450_0



14. 다음 주소에서 Python을 다운로드하여 설치합니다.  

Tensorflow에서 지원하는 버전인 3.6 ~ 3.8 사이의 버전을 다운로드 해야 합니다.

 

https://www.python.org/downloads/windows/ 

 


Add Python 3.7 to PATH를 체크하고 설치를 진행하세요. 






15. 명령 프롬프트에서 다음 명령으로 최신 버전의 Tensorflow GPU버전을 설치합니다. 

글 작성 시점에는 최신버전이 Tensorflow 2.4.0입니다.


pip install tensorflow-gpu





16. 텐서플로우 모듈을 로드하여 문제 없는지 확인합니다. 



import tensorflow as tf 를 실행하여 문제 없이 텐서플로우 모듈을 로드했다면 다음 메시지가 보입니다.


Successfully opened dynamic library cudart64_110.dll



tf.__version__을 실행하여 설치한 텐서플로우 버전이 출력되는 지도 확인합니다.





다음과 같은 에러가 발생한다면..


>>> import tensorflow as tf

......

ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.



다음 주소에서 vc_redist.x64.exe를 다운로드 받아 설치하면 해결됩니다. 


https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads 

 




17. 파이썬 인터프리터에서 텐서플로우가 GPU를 사용할 수 있는지 체크합니다.


>>> import tensorflow as tf


>>> tf.config.list_physical_devices('GPU')

2021-01-11 21:39:28.727535: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set

2021-01-11 21:39:28.738563: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library nvcuda.dll

2021-01-11 21:39:28.828286: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties:

pciBusID: 0000:01:00.0 name: GeForce GTX 1660 Ti computeCapability: 7.5

coreClock: 1.59GHz coreCount: 24 deviceMemorySize: 6.00GiB deviceMemoryBandwidth: 268.26GiB/s

2021-01-11 21:39:28.828810: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll

2021-01-11 21:39:28.902132: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll

2021-01-11 21:39:28.902319: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll

2021-01-11 21:39:28.972263: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll

2021-01-11 21:39:29.031746: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll

2021-01-11 21:39:29.397528: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll

2021-01-11 21:39:29.489118: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll

2021-01-11 21:39:29.493660: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll

2021-01-11 21:39:29.494156: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0

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





18. 파이썬 코드 작성시 사용할 편집기로는 Visual Studio Code나 Sublime Text 3를 사용하는 것을 추천합니다.


Visual Studio Code를 사용하여 Python 프로그래밍 환경 만들기

https://webnautes.tistory.com/1369 



Sublime Text 3와 함께 Python 프로그래밍

https://webnautes.tistory.com/454 



반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 ~~

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요 ^^

  1. Favicon of https://euphoria0-0.tistory.com BlogIcon euphoria0-0 2021.01.11 10:47 신고

    안녕하세요! 글 정말 잘 봤습니다. cuda 11.0을 설치하셨는데, 혹시 tf 2.4는 cuda toolkit 11.1은 안되는지요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2021.01.11 11:06 신고

      탠서플로우 홈페이지에 요구사항으로 cuda 11.0이라고 명시되어 있어 해당버전을 설치해보았습니다. cuda 11.1은 테스트 안해봤습니다.

    • Favicon of https://euphoria0-0.tistory.com BlogIcon euphoria0-0 2021.01.11 13:48 신고

      아하 ㅠㅠ 이 글을 보기 전에 11.1을 깔았다가 뭔가 안 맞네요 ㅠㅠ 그래서 11.0으로 설치하셨나해서 여쭤봤습니다.. 답변 감사합니다!

  2. Favicon of https://gmkhan.tistory.com BlogIcon silverkhan 2021.03.10 09:07 신고

    감사합니다^^! 제가 봤던 설명중에 가장 깔끔하고 따라가기 쉬웠어요- 많은 도움이 되었습니다:)

  3. Favicon of https://gbox3d.tistory.com BlogIcon 밥을먹는선비 2021.04.06 15:00 신고

    잘보았습니다.
    감사합니다. 우분투 버전도 기대하겠습니다.
    미리감사드립니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2021.04.06 15:07 신고

      우분투에서 CUDA 10을 사용하는 글은 이미 있습니다

      https://webnautes.tistory.com/1435

+ Recent posts