Windows での,NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール,nvcc の使用例をスクリーンショット等で説明する. NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている.
GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.
【目次】
【サイト内の関連ページ】
先人に感謝.
【関連する外部ページ】
NVIDIA CUDA 10.0 は Visual Studio Commnity 2017, 2015, 2013, 2012 と連携して動く機能がある.
NVIDIA CUDA 10.0 のインストールの前に, Visual Studio Commnity 2017 のインストールを行う.
Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ. インストール時には「C++ によるデスクトップ開発」をチェックしてインストールする.
GPU は,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略である.現在は,3次元のビデオゲーム,さまざまな計算,ディープラーニングの高速な並列処理などに用いられている.
NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている.
【サイト内の関連ページ】
【関連する外部ページ】
【NVIDIA CUDA ツールキットの動作に必要なもの】
Windows で,NVIDIA グラフィックス・カードの種類を調べたいときは, hwinfo (URL: https://www.hwinfo.com/index.html) を使って調べることができる.
【Windows でインストールするときの注意点】
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
NVIDIA cuDNN は, NVIDIA CUDA ツールキット上で動作するディープラーニング・ライブラリである. 畳み込みニューラルネットワークや リカレントニューラルネットワークなど,さまざまなディープラーニングで利用されている.
Windows で,NVIDIA cuDNN の利用時に 「Could not locate zlibwapi.dll. Please make sure it is in your library path!」と表示されるときは, ZLIB DLL をインストールすること.
【関連する外部ページ】
【NVIDIA cuDNN の動作に必要なもの】
Windows で,NVIDIA グラフィックス・カードの種類を調べたいときは, hwinfo (URL: https://www.hwinfo.com/index.html) を使って調べることができる.
最新のNVIDIA CUDA ツールキットでは動かないということもあるので注意.
ZLIB DLL は,データの圧縮と展開(解凍)の機能を持ったライブラリ.
ZLIB DLL のインストールを行うため, Windows で,コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行.
但し,「v11.8」のところは,実際にインストールされている NVIDIA CUDA ツールキットのバージョンを確認し,読み替えてください.
cd "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin" curl -O http://www.winimage.com/zLibDll/zlib123dllx64.zip powershell -command "Expand-Archive -Path zlib123dllx64.zip" copy zlib123dllx64\dll_x64\zlibwapi.dll .
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
NVIDIA ドライバは,NVIDIA 社製の GPU を動作させるのに必要なドライバである.次の NVIDIA の公式サイトからダウンロードできる.ダウンロードのときは,使用しているオペレーティングシステムとGPUに適したものを選ぶこと.
【関連する外部ページ】
NVIDIA ドライバのダウンロードの公式ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
以下,インストールの注意点をまとめている. Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストールの詳細は別ページ »で説明している.
TensorFlow 1.15.5 を動かすために,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 を使う.
(10.2, 10.1 は不可.実際に試みて検証済み).
NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 の根拠: cudart64_100.dll, cudnn64_7.dll が必要
NVIDIA CUDA ツールキットの nvcc の動作に必要.
他のウインドウを開いている場合,NVIDIA CUDA ツールキットのインストールが失敗する場合がある.
NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
NVIDIA CUDA クイックスタートガイドの公式ページ: https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
ここでは,NVIDIA CUDA ツールキットの10.0を選んでいる
既定(デフォルト)のままでよい.「OK」をクリック.
「CUDA」にチェックする.その他は,必要なものがあればチェックする.「次へ」をクリック.
複数の版の NVIDIA CUDA ツールキットをインストールする場合には,古い版のNVIDIA CUDA ツールキットをインストールするときに「CUDA」だけを選ぶようにする.
表示されなくても問題はない.
表示された場合には,NVIDIA CUDA のインストールを中止して, Visual Studio Commnity 2017 のインストールを行う.
Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ. インストール時には「C++ によるデスクトップ開発」をチェックしてインストールする.
Visual Studio をインストールしていないときは,Nsight for Visual Studio はインストールされない.
※ 「コンピュータを再起動してください」と表示される場合がある.そのときは,再起動する.
リリースハイライトを確認したら,「x」をクリックして閉じる.
そして「お使いのGPU向けの新しいドライバーが入手可能です」と表示されることがある.そのときは,新しいドライバをインストールする.
バージョン 10.0 の場合
次のように自動設定される.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvpp
※ 複数の版の CUDA ツールキットをインストールする場合には, 複数のパスが設定される このとき・古い版の方が先に来ている場合には、後になるように調整する
バージョン 10.0 の場合
次のように自動設定される. もし,10.0 よりも新しい NVIDIA CUDA ツールキットをインストール済みのときは, そのディレクトリに合うように,CUDA_PATH の値を書き換えること.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
※ 複数の版の CUDA ツールキットをインストールしている場合には,最後にインストールしたものが設定される
バージョン 10.0 の場合
システム環境変数 CUDA_PATH_V10_0
次のように自動設定される.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
nvcc にパスが通っていることを確認する
Windows のコマンドプロンプトを開き、次のコマンドを実行する. エラーメッセージが出ないことを確認.
where nvcc
【要点】
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
NVIDIA cuDNN の zip ファイルをダウンロードしたら,Windows ならば,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 (「10.0」のところはバージョン番号)のようなパスの通っているディレクトリ に展開(解凍).
次の操作により,cudnn64_7.dll にパスが通っていることを確認する.
Windows のコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.
where cudnn64_7.dll
NVIDIA cuDNN のダウンロードのため.
「Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.
ここでは「cuDNN v 7.6.5, for CUDA 10.0」を選んでいる.
このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.
「NVIDIA cuDNN をインストールしたディレクトリ」をもとに環境変数を設定する.
「NVIDIA cuDNN をインストールしたディレクトリ」が C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 の場合には,次のように設定する.
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\", \"Machine\")"
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
次の操作により,cudnn64_7.dll にパスが通っていることを確認する
Windows のコマンドプロンプトを開き、次のコマンドを実行する.エラーメッセージが出ないことを確認.
where cudnn64_7.dll
起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ.「x64」は,64ビット版の意味である.
※ 32ビットのNative Tools コマンドプロンプトでは nvcc が動かない.
以下の操作は,x64 Native Tools コマンドプロンプトで行う
エラーメッセージが出ていないことを確認.
where cl
https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/に記載のソースコードを使用. まず,エディタを開く. ここではメモ帳 (notepad) を使っている.
x64 Native Tools コマンドプロンプト で,次のコマンドを実行する. ファイル名は hello.cu としている.
cd %HOMEPATH% notepad hello.cu
その後,ファイルを編集し,ファイルを保存.
エディタで hello.cuのようなファイル名で保存.
「nvcc hello.cu」で a.exe というファイルができる. 「Max error: 0.000000」と表示されればOK.
うまく動かないときは,まず,マイクロソフト C++ ビルドツールの動作を,別ページの手順により確認し,異常があれば,マイクロソフト C++ ビルドツールのインストールなどで対処.それでも動かないときは,NVIDIA CUDA ツールキット 10.0 のインストールしたときの作業に間違いがなかったかを再確認.
del a.exe nvcc hello.cu
.\a.exe
付属のサンプルプログラムを Visual Studio Community 2019 の C++ を用いてビルドし実行してみる.
しばらく待つ
これは、SDK のバージョンに起因するエラーを回避するための操作
※ ビルドの終了までしばらく待つこと.
プログラムの場所は C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64\Debug