TensorflowからNVIDIAのGPUを使用する(Windows)

使用しているGPUがCUDAに対応していることを確認する

https://developer.nvidia.com/cuda-gpus#compute
上記サイトの一覧に自分のGPUがあることを確認する。

Build Tools for Visual Studio 2019をインストールする

https://visualstudio.microsoft.com/ja/downloads/
上記のページにアクセスし、Visual Studio 2019 のツールからBuild Tools for Visual Studio 2019をダウンロードする。
以下のC++ Build Toolsにチェックを入れてインストールする。それ以外はデフォルトで良い。

CUDA Toolkitをインストールする

https://developer.nvidia.com/cuda-toolkit-archive
上記のページにアクセスし、CUDA Toolkitをダウンロードする。
必ずTensorflowが動作保証しているバージョン(https://www.tensorflow.org/install/gpu)をダウンロードすること。最新バージョンではDLLが見つからないなどエラーが発生し、動作しない可能性が高い。
今回はTensorflow 2.3.0を使用するため、CUDA Toolkit 10.1 update2 (Aug 2019)をダウンロードする。

インストーラーを起動して以下のオプションを指定する。それ以外はデフォルトで良い。

cuDNNをインストールする

https://developer.nvidia.com/cudnn
上記のページにアクセスし、cuDNNをダウンロードする。(ダウンロードは無料だが、ユーザー登録が必要)
今回はTensorflow 2.3.0、CUDA Toolkit 10.1を使用するため、cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1をダウンロードする。

ダウンロードしたファイルを解凍し、CUDAをインストールしたフォルダに上書きする。

動作確認

Tensorflowを実行し以下の通りGPUが読み込まれていることを確認できた。

2020-08-18 19:54:11.658397: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library nvcuda.dll
2020-08-18 19:54:11.895033: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties: 
pciBusID: 0000:01:00.0 name: GeForce GTX 1070 computeCapability: 6.1
coreClock: 1.7715GHz coreCount: 15 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 238.66GiB/s
2020-08-18 19:54:11.895468: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll
2020-08-18 19:54:11.924128: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cublas64_10.dll
2020-08-18 19:54:11.955523: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cufft64_10.dll
2020-08-18 19:54:11.962251: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library curand64_10.dll
2020-08-18 19:54:11.989806: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cusolver64_10.dll
2020-08-18 19:54:12.003706: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cusparse64_10.dll
2020-08-18 19:54:15.670393: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudnn64_7.dll
2020-08-18 19:54:15.670725: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください