2020/03/02 Updated by

CUDA

Windows 10へのインストール


[Up] Japanese English

CUDA Toolkit 10.1のインストール

  1. CUDA Toolkit最新バージョン は 10.2 (10.2.89_441.22) であるが、TensorFlow2 が 10.1 を使うので CUDA Toolkit Archive から10.1系をダウンロードする。
  2. 10.1 系は3つのファイルがあるが Toolkit 10.1 update2 に全部入っているので、これをそのまま実行して指示に従えばよいようだ。
  3. CUDA Toolkit 10.1 update2 のexeファイルを実行する。
  4. 「nVidiaのデバイスドライバをダウングレードする」と表示される。
  5. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\ にインストールされる。
  6. Nsight for Visual Studio 201[579] がインストールされる。
  7. Sampleがインストールされる。
  8. C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
  9. [2021/Jan/21追記] Windowsの環境変数PATHに以下の3つのパスを追加する必要があるとのこと( https://tensorflow.org/install/gpu 参照)。最初の1つしか追加していなかった。
  10.     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
        C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64
        C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include
    

cuDNN のインストール

  1. nVidia の公式サイト https://developer.nvidia.com/rdp/cudnn-download にアクセスする。
  2. OSに適合した cuDNN をダウンロードする。
  3. 2020/03/02 時点のWidows10用は次のパッケージであった。
    cuDNN v7.6.5 [November 5th,2019] for 10.1
      cuDNN Library for Windows 10
    
  4. NVIDIA Deep Learning SDK Documentation
  5. cuDNN Installation Guide をよく読んで、指示に従ってインストールする。
  6. 3個のファイルを所定のフォルダにコピーする
  7. 展開して出来たフォルダのパスを PATH で表すと、次の通り。
    copy PATH\cuda\bin\cudnn64_7.dll  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
    copy PATH>\cuda\ include\cudnn.h  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include
    copy PATH>\cuda\lib\x64\cudnn.lib  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
    
  8. 環境変数 CUDA_PATH を次の値に設定する。
  9.   変数名: CUDA_PATH 
      値:     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
    
    最近は自動で設定されるようだ。また、バージョンが付加された変数名の値も自動で設定されるようだ。
      変数名: CUDA_PATH_V10_1
      値:     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
    

[自分へのメモ] CUDA Toolkit をインストールすると 環境変数名CUDA_PATH_VN_Mが自動的に設定される。 ただしNMはそれぞれバージョンのMAJOR番号およびMinor番号とする(例: v10.1 だと N=10, M=1)。 CUDAのいろいろなバージョンを切り替えて使うためには環境変数 CUDA_PATHの値は%CUDA_PATH_V10_1%のように、他の環境変数を参照するように設定としておくとよいと思う。 Windows環境では'%'で挟むとその環境変数を値に展開してくれる。



[余談] 自分でCUDAをコンパイルするための情報

  1. コンパイル済みのdemoプログラムは次の場所にある。
  2. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite
    

    bandwidthTest.exe, deviceQuery.exe, nbody.exe oceanFFT.exe などが動くことを確認する。

  3. Microsoft Visual Studio に CUDA plugin を登録するためのプログラムは次の場所にある。
  4. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\visual_studio_integration\MSBuildExtensions
    
  5. NVIDA driver は WDDM と TCC (Tesla Compute Cluster)という2つのモードを持つ。 デフォルトはTCC。 どちらのモードで動いているかを調べたり、モードを切り換えしたりするのが nvidia-smi 。
  6. sample の場所は以下の通り。
  7. C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
    
    1. マニュアルによれば 1_Utilities\bandwidthTest にある bandwidthTest をコンパイルしてみるのがよいそうだ。
    2. C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\1_Utilities\bandwidthTest\bandwidthTest_vs2017.sln をダブルクリックしてVisual Studio 2017を起動する。
    3. プロジェクトの上で右クリックして、「ビルドの依存関係」 → 「ビルドのカスタマイズ」 → とやって、"CUDA 10.1(.targets, props)" "CUDA 10.1(.targets)"がチェックされていることを確認する。



    4. Release, x64 でbuildして実行すると、正常に動いた。



    環境変数は Build Customization CUDA 10.1.props ファイルによって自動的に設定される。 これは次の場所にある。

    [VS2015用]  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
    [VS2017用]  C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\BuildCustomizations
    

    Visual Studio で自分のcuda プログラムをコンパイルするときは、上記のようにして Build customization に "Cuda"を設定するとよい。

  8. 新しく CUDA のプロジェクトを作成する場合は次のようにする。
  9. File → New Project ... → NVIDIA → CUDA 10.1 → CUDA 10.1 Runtime
    
    カスタムな CUDA Toolkit を参照するには、 CUDA C/C++ の下で、Common → CUDA Toolkit Custom Dir に設定する。
  10. 既存のプロジェクトに CUDA を取り入れるには次のようにする。
  11. プロジェクトの上で右クリック → 「ビルドの依存関係」 → 「ビルドのカスタマイズ」
    → "CUDA 10.1(.targets, props)" がチェックされていることを確認
    
    または
    プロジェクトの上で右クリック → 「プロパティ」 → CUDA C/C++ →、Common → CUDA Toolkit Custom Dir →
    $(CUDA_PATH)
    と設定する。
    
  12. Documentの場所は以下の通り
  13. file:///C:/Program%20Files/NVIDIA%20GPU%20Computing%20Toolkit/CUDA/v10.1/doc/html/index.html