【要約】 Windows環境におけるNVIDIAドライバ,CUDAツールキット11.8,cuDNN v8.9.7のインストールは,以下の手順に基づく.始めに,NVIDIAの公式サイトより最新のドライバをダウンロードし,これをインストールする.続いて,CUDAツールキットのインストールを行う.CUDAツールキットは公式ページからダウンロードしてインストールする.この過程では,他のウィンドウを全て閉じることが推奨される.ツールキットのインストールのために,ユーザ環境変数 TEMP を「C:\TEMP」のように設定する.この設定は,Windowsのユーザ名が日本語である場合に,nvccが適切に動作せぬエラーを防ぐためである.最後に,NVIDIA cuDNNのインストールを行うが,これにはNVIDIA Developer Programへの登録が必要となる.cuDNNの利用中に「Could not locate zlibwapi.dll. Please make sure it is in your library path!」といったエラーメッセージが表示される場合,ZLIB DLLのインストールが必要となる.これらの手順に従うことで,Windows環境にNVIDIA関連のソフトウェアをスムースにインストールすることが可能となる.
NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットである.GPU を用いた演算のプログラム作成や動作のための各種機能を備えている.ディープラーニングでも利用されている. NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット を利用することができる.
【目次】
【サイト内の関連ページ】
GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略である.3次元コンピュータグラフィックスや3次元ゲーム,動画編集,仮想通貨のマイニング,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されている.
TensorFlowは,Googleが開発した機械学習フレームワークである.Python,C/C++言語から利用可能で,CPU,GPU,TPU上で動作する.TensorFlowの特徴として「データフローグラフ」がある.これは,「データの流れ」を表現するもので,グラフの節点は演算(オペレーション)を,エッジはデータ(テンソル)の流れを表す.TensorFlowを使用することで,音声,画像,テキスト,ビデオなど多様なデータを扱う機械学習アプリケーションの開発が容易になる.2015年11月に初版がリリースされて以来,継続的にバージョンアップが続いている.
TensorFlow GPU版の動作要件(2024年7月現在)
Windows で,NVIDIA グラフィックス・ボードの種類を確認するには,次のコマンドを実行する.
wmic path win32_VideoController get name
TensorFlow バージョン 2.10.1の動作には,cudart64_110.dll, cusolver64_11.dll, cudnn64_8.dll が必要である. そのために,NVIDIA CUDA ツールキット 11 をインストールしてください. Windows では,NVIDIA CUDA ツールキット 12 と TensorFlow バージョン 2.10.1 の互換性が確認されていません.
そして, NVIDIA CUDA ツールキット のバージョンを選ぶときは,NVIDIA cuDNNに対応したバージョンを選択することも重要である. 互換性の詳細はcuDNNの公式ページで確認できる.
TensorFlow GPU版の動作のためにNVIDIA cuDNNが必要である.
TensorFlow 2.4.4以前のバージョンを使用する場合は,NVIDIA cuDNN のバージョン選択に特に注意が必要である. その詳細は,別ページ »で説明
【インストールの判断】 Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」を選択することで, Build Tools for Visual Studio 2022 の機能も一緒にインストールされる.
不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Visual Studio Community 2022と VC2015 再配布可能パッケージをインストールするものである.
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
NVIDIA ドライバは,NVIDIA製GPUを動作させるための重要なソフトウェアである.このドライバをインストールすることにより,GPUの性能を引き出すことができ,グラフィックス関連のアプリ,AI関連のアプリの高速化が期待できる.
ドライバはNVIDIA公式サイトである https://www.nvidia.co.jp/Download/index.aspx?lang=jp からダウンロードできる.このサイトからダウンロードするときには,グラフィックスカードとオペレーティングシステムを選択する. なお,NVIDIA GeForce Experiance を用いてインストールすることも可能である.
【サイト内の関連ページ】
Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.
NVIDIAのGPUを使用して並列計算を行うためのツールセット
主な機能: GPU を利用した並列処理,GPU のメモリ管理,C++をベースとした拡張言語とAPIとライブラリ
【NVIDIA CUDA ツールキットの動作に必要なもの】
そのために,NVIDIA グラフィックス・ボードを確認する. Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
【Windows でインストールするときの注意点】
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
【関連する外部ページ】
【関連項目】 NVIDIA CUDA ツールキット, NVIDIA CUDA ツールキット 12.5 のインストール(Windows 上), NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)
ここでは,NVIDIA CUDA ツールキット 11.8.0を選んでいる.
Windows 10 のときは,「10」を選ぶ.
既定(デフォルト)のままでよい.「OK」をクリック.
「CUDA」にチェックする.その他は,必要なものがあればチェックする.「次へ」をクリック.
表示されなくても問題はない.
表示された場合には,次のように判断する.
ここで,NVIDIA CUDA ツールキットのインストールを中止. 先に, Visual Studio 2022 のインストールを行う.
NVIDIA CUDA ツールキットのインストールを中止する必要はない.
あとで構わないので,Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のインストールを行っておく
Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のインストールが終わっていても,Visual Studio Community のインストールを行っていない場合には,この表示は出るが,問題はない
Visual Studio がインストール済みのときは,Nsight Visual Studio がインストールされたことが確認できる.確認したら「次へ」をクリック.
Visual Studio をインストールしていないときは,Nsight for Visual Studio はインストールされない.
* 「コンピュータを再起動してください」と表示される場合がある.そのときは,再起動する.
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
バージョン 11.8 系列の場合
次のように自動設定される.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvpp
* 複数の版の CUDA ツールキットをインストールする場合には, 複数のパスが設定される このとき・古い版の方が先に来ている場合には、後になるように調整する
バージョン 11.8 系列の場合
次のように自動設定される.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
* 複数の版の CUDA ツールキットをインストールしている場合には,最後にインストールしたものが設定される
バージョン 11.8 系列の場合
システム環境変数 CUDA_PATH_V11_8
次のように自動設定される.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
nvcc にパスが通っていることを確認する
Windows のコマンドプロンプトを開き,次のコマンドを実行する. エラーメッセージが出ないことを確認.
where nvcc
NVIDIA cuDNN は, NVIDIA CUDA ツールキット上で動作するディープラーニング・ライブラリである. 畳み込みニューラルネットワークや リカレントニューラルネットワークなど,さまざまなディープラーニングで利用されている.
Windows で,NVIDIA cuDNN の利用時に 「Could not locate zlibwapi.dll. Please make sure it is in your library path!」と表示されるときは, ZLIB DLL をインストールすること.
【関連する外部ページ】
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドは,zlibをインストールし,パスを通すものである.
cd /d c:%HOMEPATH% rmdir /s /q zlib git clone https://github.com/madler/zlib cd zlib del CMakeCache.txt rmdir /s /q CMakeFiles\ cmake . -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_INSTALL_PREFIX=c:/zlib cmake --build . --config RELEASE --target INSTALL powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\zlib\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"ZLIB_HOME\", \"C:\zlib\", \"Machine\")"
【関連する外部ページ】
【関連項目】 zlib
ここでは「NVIDIA cuDNN v8.9.7 for CUDA 11.x」を選んでいる.
このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.
NVIDIA cuDNN のダウンロードのため.
「Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.
次の操作により,cudnn64_8.dll にパスが通っていることを確認する.
Windows のコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.
where cudnn64_8.dll
コマンドプロンプトを管理者として実行: 別ページ »で説明
powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"
起動は,Windows のメニューで「Visual Studio 2022」の下の「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.
del a.exe nvcc hello.cu
.\a.exe
うまく動かない場合がある.
放置しない方が良い. NVIDIA CUDA,NVIDIA cuDNN のインストールがうまくできていない. インストール操作を間違っていた可能性があるため,アンインストールの後,再度,インストールを行ってみる. あるいは「最新版だとうまく動かない」という可能性もゼロではないため,古い版を試してみるということもありえる.
このときは,ユーザ環境変数 TEMP に日本語を含まないディレクトリを設定する.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
この設定を終わったあと,確認のため,新しくx64 Native Tools コマンドプロンプトを開き,nvcc hello.cu と .\a.exe をもう一度実行して確認する.
nvcc hello.cu .\a.exe