GPU計算環境構築作業ログ

やることは、下記
1.tensorflow-gpu インストール
2.Visual　Studio インストール
3.CUDAインストール
4.cuDNNインストール
5.システム環境変数を設定

OSなどの環境は以下
OS: Windows 10 64bit
GPU: NVIDIA GeForce GTX 1650 SUPER
Python 3.9.10
tensorflow-gpu 2.8.0
cuda 11.5
cudnn 8.3


1.tensorflow-gpu
cmdにて
$pip3 install tensorflow-gpu

2.Visual　Studio
https://visualstudio.microsoft.com/ja/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=navigation+cta&utm_content=download+vs2019

3.cuda 11.5
https://developer.nvidia.com/cuda-11-5-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local

4.cuDNN　8.3（cudaのバージョンに合わせる）
https://developer.nvidia.com/rdp/cudnn-download
ダウンロードにアカウント登録が必要

以下参考にインストール
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installcuda-windows

cuDNN を含む <インストールパス> ディレクトリに移動します。
cuDNN パッケージを解凍します。
cudnn-windows-x86_64-*-archive.zip
以下のファイルをCUDAツールキットディレクトリにコピーします。
<installpath>\cuda\bin\cudnn*.dll を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\bin にコピーします。
<installpath>\cuda\include\cudnn*.h を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include にコピーします。
<installpath>\cuda\lib\x64\cudnn*.lib を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\lib\x64 にコピーします。
次の環境変数を、cuDNN が置かれている場所を指すように設定します。$(CUDA_PATH) 環境変数の値にアクセスするには、以下のステップを実行します。
[スタート]メニューからコマンドプロンプトを開きます。
「実行」と入力し、Enter キーを押します。
制御 sysdm.cpl コマンドを発行します。
ウィンドウの上部にある [詳細設定] タブを選択します。
ウィンドウの下部にある「環境変数」をクリックします。
次の値が設定されていることを確認します。
Variable Name: CUDA_PATH 
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x
Visual Studio プロジェクトに cudnn.lib を含めます。
Visual Studio プロジェクトを開き、プロジェクト名を右クリックします。
[リンカ] をクリックして、[入力] >追加の依存関係>します。(プロジェクトのプロパティ、リンカー、入力、追加の依存ファイル)
cudnn.lib を追加し、「OK」をクリックします。



5.システム環境変数を設定
以下を、システム環境変数のpathに追加します

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\include
C:\tools\cuda\bin

Cuda ダウンロード後、展開してできたcudaディレクトリをc:\tools\以下に移動

以上で設定は完了し、一度コンピュータの再起動を行う

次にcmdを開き

$python
```
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
2022-03-31 16:04:14.691598: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-03-31 16:04:20.684652: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /device:GPU:0 with 2138 MB memory:  -> device: 0, name: NVIDIA GeForce GTX 1650 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 17513321691424484793
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 2241986560
locality {
  bus_id: 1
  links {
  }
}
incarnation: 6836223347096653990
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1650 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5"
xla_global_id: 416903419
]
```
以上でGPU計算環境設定完了