CUDA Toolkit 9.0 インストール手順

**2018/09/24 CUDA Toolkit 10.0 インストール手順を作成しました。**
[CUDA Toolkit 10.0 インストール手順](https://qiita.com/East_san/items/62adb216b0e6f801ae1d "CUDA Toolkit 10.0 インストール手順")

# インストール環境
・Windows 7 Professional 64bit
・Intel Corei7-3770K
・16GB RAM
・Geforce GTX 780
・Visual Studio 2017 Version 15.7.0

# Step 1. GPUの確認
ここにアクセスし、GPUがCUDAを使えるかを確認する。
Compute CapabilityはCUDAで使える機能の豊富さだとでも思っておけばよいです。
https://developer.nvidia.com/cuda-gpus

# Step 2. ダウンロード
以下からCUDA Toolkit 9.0をダウンロードしてきます。
https://developer.nvidia.com/cuda-90-download-archive
![WS000000.png](https://qiita-image-store.s3.amazonaws.com/0/92978/b4edd5ca-cc65-5fac-3ee8-225a11984769.png)
「Windows」を選択。
![WS000001.png](https://qiita-image-store.s3.amazonaws.com/0/92978/e4a73a2d-e834-0777-01a0-7d10bebd5f41.png)
「7」を選択。
![WS000002.png](https://qiita-image-store.s3.amazonaws.com/0/92978/0f7d4296-efdc-3830-433c-89c333c97ed4.png)
「exe(local)」を選択(exe(network)でも、特に問題ないと思いますので、こちらはお好みでどうぞ)。



# Step 3. インストール
ダウンロードしてきた「cuda_9.0.176_windows.exe」を実行し、
解凍します(解凍パスは一時的ものなので、どこでもよいです)。
![WS000004.png](https://qiita-image-store.s3.amazonaws.com/0/92978/a4ecb815-869d-d160-0abf-47c695ff9ff1.png)
使用許諾をよく読み「同意して続行する」をクリックします。
![WS000005.png](https://qiita-image-store.s3.amazonaws.com/0/92978/9b95d4f6-6edf-35db-9fe7-c4e804a0f121.png)
「カスタム」を選択し、「次へ」を押す。
![WS000006.png](https://qiita-image-store.s3.amazonaws.com/0/92978/52ee5db3-28aa-ce0b-9988-a2e6faf83eb2.png)
~~CUDAにチェックを入れて「次へ」を押す(デフォルトでも特に問題ありませんが、CUDAのみでいい場合は、他のチェックを外すと良いです)。~~
CUDAのみだと後からの、インストール確認でエラー出ます。なので、最低でも、CUDA, Driver componentsにチェックを入れてください。
チェック後、「次へ」を押す。
![WS000007.png](https://qiita-image-store.s3.amazonaws.com/0/92978/456bc022-0729-4842-3446-d900b731fb79.png)
「次へ」を押す。
![WS000008.png](https://qiita-image-store.s3.amazonaws.com/0/92978/7f8675d5-9493-ce50-e866-cfe41baa3474.png)
Visual Studio 用にNsightのインストールが始まる。このとき、現在利用しているVisual StudioによってInstalledの表示が変わる。「次へ」を押す。
![WS000009.png](https://qiita-image-store.s3.amazonaws.com/0/92978/e74551ac-b4b3-21de-423a-c04171ad87c5.png)
インストールが終わったので「閉じる」を押す。これでCUDA 9.0のインストールは完了！

# Step 4. インストール確認
下記、フォルダにある「deviceQuery_vs2017.vcxproj」をVisual Studioで開く。
`C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\1_Utilities\deviceQuery`
その後、ソリューション構成をRelease>deviceQueryを右クリック>ビルドで、次のフォルダにdeviceQuery.exeができます。
`C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release`
コマンドプロンプトを開き、次のコマンドを実行。
`"C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release\deviceQuery.exe"`
Result = PASSになっていれば、OK。

# トラブルシューティング
- deviceQueryをビルドしたら、大量のエラーが出てきた！<br>(主にヘッダーファイル関連)
    - メニューバーのツール>ツールと機能を取得>個別のコンポーネントタブを選択>Windows ユニバーサル CRTにチェックが入っているか確認する。
    <br>チェックが入っていなければ、チェックを入れてインストールする。
    - インストールしても同じエラーが出る場合は、ソリューションのプロパティ>VC++ ディレクトリ>インクルード ディレクトリに下記パスを入れる。<br>`C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt`
- deviceQuery.exeを実行したら、Result = FAILになった。主に下記エラー内容。

```
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
```
これは、CUDA driverのバージョンが低いとこうなってしまう。
Nvidia コントロールパネル>ヘルプ>システム情報>コンポーネントを確認して、NVCUDA.DLLが6.5だと古いため上記エラーになる。これは、基本的にインストール時に、Driver Componentsをチェックしておくことで防げます。チェックし忘れていたら、もう一度入れ直せば、OKです。