NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8(CUDA のインストールで winget を使用),NVIDIA cuDNN v8.9.7 のインストール手順(Windows 上)
【要約】 本記事では、Windows環境においてAI開発やGPUコンピューティングに不可欠なNVIDIAドライバ、CUDAツールキット (v11.8)、cuDNN (v8.9.7) をインストールする手順を解説します。GPUを活用した高速な演算は、ディープラーニングをはじめとする多くの技術分野で重要となっています。
主な手順は以下の通りです。
- 1. 前提条件の確認と準備: Visual Studio Build Tools または Visual Studio のインストール、および使用するグラフィックス・ボードの確認。
- 2. NVIDIAドライバのインストール: 公式サイトまたはGeForce Experienceを使用。
- 3. CUDAツールキット 11.8 のインストール:
winget
コマンドを利用し、TEMP
環境変数の設定を含む注意点を解説。 - 4. cuDNN v8.9.7 のインストール: NVIDIA Developer Programへの登録、ファイルの配置、
zlib
関連のエラー対処法を解説。 - 5. 動作確認:
nvcc
コマンドによる簡単なコンパイルテスト。
これらの手順により、Windows環境でGPUを活用するための基盤を構築できます。
(注記) この記事ではCUDA 11.8を扱いますが、最新の環境を構築する場合は、NVIDIA公式サイトで最新の推奨バージョンと互換性を確認してください。特に、利用するフレームワーク(TensorFlow, PyTorchなど)が要求するバージョンを確認することが重要です。winget search Nvidia.CUDA
コマンドで利用可能なバージョンを確認できます。
NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットです.GPU を用いた演算のプログラム作成や動作のための各種機能を備えています.ディープラーニングでも広く利用されています. NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット を利用することができます.
【目次】
- はじめに (GPUとTensorFlowとの関連)
- 前提条件: Visual Studio または Build Tools のインストール
- NVIDIA ドライバのインストール
- NVIDIA CUDA ツールキット 11.8 のインストール
- NVIDIA cuDNN v8.9.7 のインストール (zlibを含む)
- 動作確認 (nvcc)
【サイト内の関連ページ】
はじめに (GPUとTensorFlowとの関連)
GPUとは
GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略です.その高い並列計算能力から,3次元コンピュータグラフィックス,3次元ゲーム,動画編集,科学計算,ディープラーニングなど,並列処理が必要な幅広い分野で活用されています.
TensorFlowとNVIDIAソフトウェアの関連
TensorFlowは,Googleが開発した機械学習フレームワークであり,ディープラーニング開発で広く使われています.Python,C/C++言語から利用可能で,CPUだけでなく,NVIDIA GPUやGoogle TPU上で計算を高速化できます.TensorFlowでGPUの計算能力を活用するには、NVIDIAが提供するドライバ、CUDAツールキット、cuDNNライブラリが必要になります.
TensorFlowの特徴として「データフローグラフ」があります.これは,「データの流れ」を表現するもので,グラフの節点は演算(オペレーション)を,エッジはデータ(テンソル)の流れを表します.TensorFlowを使用することで,音声,画像,テキスト,ビデオなど多様なデータを扱う機械学習アプリケーションの開発が容易になります.2015年11月に初版がリリースされて以来,継続的にバージョンアップが続いています.
TensorFlow GPU版などのGPU対応フレームワークを利用するための主な動作要件(2024年7月現在参考):
- NVIDIA グラフィックス・ボード: CUDAに対応したNVIDIA製GPUが必要です.
Windows で,NVIDIA グラフィックス・ボードの種類を確認するには,次のコマンドをコマンドプロンプトで実行します.
wmic path win32_VideoController get name
- NVIDIA ドライバ: GPUをOSに認識させ、性能を引き出すためのソフトウェアです.
- NVIDIA CUDA ツールキット: GPU上でプログラムを開発・実行するためのプラットフォームです.コンパイラ(nvcc)、ライブラリ、APIなどが含まれます.
TensorFlow バージョン 2.10.1の動作には,CUDA 11.2が必要です(公式ドキュメントより.対応するDLL: cudart64_110.dll, cusolver64_11.dllなど)。TensorFlowのバージョンによって要求されるCUDAバージョンは異なります。 Windows環境のTensorFlow 2.10ではCUDA 11が必要であり、そして、CUDA 11.8や12.xとの公式な互換性は保証されていないようです。本記事ではCUDA 11.8のインストールを解説しますが、TensorFlow 2.10を使用する場合はCUDA 11.2のインストールを検討してください。
また,NVIDIA CUDA ツールキット のバージョンを選ぶときは,NVIDIA cuDNNに対応したバージョンを選択することも重要です. 互換性の詳細はcuDNNの公式アーカイブページなどで確認できます.
- NVIDIA cuDNN: ディープニューラルネットワークのためのGPUアクセラレーションライブラリです.畳み込み演算などを高速化します.
TensorFlow GPU版の動作のためにNVIDIA cuDNNが必要です.これもTensorFlowやCUDAのバージョンとの互換性を確認する必要があります.(例: TensorFlow 2.10はcuDNN 8.1を要求)
TensorFlowの古いバージョンを使用する場合や特定のバージョン組み合わせについては、対応バージョン情報(別ページ »)も参照してください.
Visual Studio または Build Tools のインストール
CUDAツールキットは、GPU上でコードをコンパイルするためにC++コンパイラを必要とします。そのため、事前にMicrosoft C++ Build Tools または Visual Studio (C++開発ワークロードを含む) をインストールしておく必要があります。
【インストールの判断】 Build Tools for Visual Studio は,C++コンパイラなどを含む開発ツールセットです. Visual Studio は統合開発環境であり,いくつかのエディションがあり,Build Tools for Visual Studioの機能を含むか連携して使用します.インストールは以下の基準で判断してください:
- コマンドラインからのビルドなど、C++コンパイラ機能のみが必要な場合:
- Visual Studioのエディタやデバッガなどの統合開発環境機能が必要な場合、あるいは、どちらをインストールすべきかよく分からない場合:
Visual Studio Community (または他のエディション) をインストール します.
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」ワークロードを選択することで,必要なBuild Toolsの機能も一緒にインストールされます.
不明な点がある場合は,Visual Studio 全体をインストール する方が、後で機能を追加する手間が省ける場合があります.
Build Tools for Visual Studio 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)。
以下の
winget
コマンドを実行します。winget
はWindows標準のパッケージマネージャーです。--scope machine
オプションはシステム全体にインストールすることを意味します。次のコマンドは,Build Tools for Visual Studio 2022と、多くのプログラムで必要とされるVC++ 2015以降の再頒布可能パッケージをインストールします.
- Build Tools for Visual Studio 2022 で C++ によるデスクトップ開発関連コンポーネントのインストール
CUDA開発には、標準のC++開発ツールに加えて、特定のコンポーネントが必要になる場合があります。
- Visual Studio Installer を起動します。
起動方法: スタートメニューから「Visual Studio Installer」を探して実行します.
- Visual Studio Build Tools 2022 の項目で「変更」ボタンをクリックします.
- 「ワークロード」タブで「C++ によるデスクトップ開発」をクリックして選択します。画面右側の「インストールの詳細」で、必要に応じて「v143 ビルドツール用 C++/CLI サポート(最新)」、「ATL」、「MFC」などをチェックします(これらは一般的なC++開発や特定のプロジェクトタイプで必要になる場合があります)。その後、「変更」をクリックしてインストールまたは変更を適用します.
- Visual Studio Installer を起動します。
Visual Studio Community 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します。
- インストールコマンドの実行
以下の
winget
コマンドを実行します。--override "--add ..."
部分で、インストールするワークロードやコンポーネントを指定しています。winget install Microsoft.VisualStudio.2022.Community --scope machine --override "--add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows.SDK.Latest Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC" winget install Microsoft.VisualStudio.2022.Community --scope machine Microsoft.VCRedist.2015+.x64
インストールされる主要なコンポーネントの説明:
NativeDesktop
(C++によるデスクトップ開発): CUDA開発に必要なC++コンパイラ(VC.Tools.x86.x64
)やWindows SDK (Windows.SDK.Latest
)など、基本的な開発ツール一式を含みます。CoreEditor
: Visual Studioの基本的なコードエディタ機能を提供します。VC.CLI.Support
: C++/CLIを用いた開発サポート(通常、純粋なCUDA C++開発では不要な場合もあります)。NuGet
: .NETライブラリ管理用(C++プロジェクトでも利用されることがあります)。VC.ATL
/VC.ATLMFC
: 特定のWindowsアプリケーション開発フレームワーク(通常、CUDA開発自体には直接必要ありません)。
システム要件と注意事項:
- 管理者権限でのインストールが必須です。
- 必要ディスク容量:10GB以上(選択するコンポーネントにより変動)。
- 推奨メモリ:8GB以上のRAM。
- インストール過程でシステムの再起動が要求される可能性があります。
- 安定したインターネット接続環境が必要です。
後から追加のコンポーネントが必要になった場合は,Visual Studio Installerを使用して個別にインストールすることが可能です.
- インストール完了の確認
インストールが成功したか確認するには、管理者権限のコマンドプロンプトで以下のコマンドを実行します。
winget list Microsoft.VisualStudio.2022.Community
リストに表示されればインストールされています。
トラブルシューティング:
インストール失敗時は,以下のログファイルを確認すると原因究明の手がかりになります:
%TEMP%\dd_setup_
.log %TEMP%\dd_bootstrapper_ .log (
は実行日時に対応する文字列) - (オプション) Visual Studio Installer での確認と変更
winget
でのインストール後も、Visual Studio Installerを使ってインストール内容を確認・変更できます。- Visual Studio Installer を起動します。
- Visual Studio Community 2022 の項目で「変更」をクリックします。
- 「ワークロード」タブで「C++ によるデスクトップ開発」がチェックされていることを確認します。必要であれば、「個別のコンポーネント」タブで特定のツール(例: 特定バージョンのMSVCコンパイラ、CMakeツールなど)を追加・削除できます。「インストールの詳細」で「v143 ビルドツール用 C++/CLI サポート(最新)」などが選択されているかも確認できます。変更後、「変更」または「インストール」をクリックします。
NVIDIA ドライバのインストール
NVIDIA ドライバとは
NVIDIA ドライバは,NVIDIA製GPUをWindowsシステム上で適切に動作させるための基盤となるソフトウェアです.このドライバをインストールすることにより,GPUの性能を最大限に引き出し,グラフィックス処理はもちろん,CUDAを利用したAI関連アプリケーションなどの計算速度を向上させることが期待できます.
ドライバは通常、NVIDIA公式サイトからダウンロードするか、NVIDIA GeForce Experienceソフトウェアを通じてインストール・更新します。
公式サイト: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
【サイト内の関連ページ】
- (再掲) NVIDIA グラフィックス・ボードの確認
インストールするドライバを選択するために、まずご使用のPCに搭載されているNVIDIAグラフィックス・ボードの種類を確認します。(確認済みであれば、この手順は不要です。) Windows のコマンドプロンプトで次のコマンドを実行します。
wmic path win32_VideoController get name
- NVIDIA ドライバのダウンロード
確認したグラフィックス・ボードのモデル名と、お使いのWindowsのバージョン(例: Windows 11, Windows 10 64-bit)に対応するドライバを、以下のNVIDIA公式サイトからダウンロードします.
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
サイトの指示に従い、製品タイプ、製品シリーズ、製品ファミリー、OS、言語などを選択して検索し、適切なドライバ(通常は最新のGame Ready ドライバまたはStudio ドライバ)をダウンロードします。
- ドライバのインストール
ダウンロードしたインストーラー(.exeファイル)を実行し、画面の指示に従ってインストールを進めます。「カスタムインストール」を選択すると、インストールするコンポーネント(ドライバ本体、GeForce Experience、PhysXなど)を選ぶことができます。通常は「高速(推奨)」で問題ありません。
インストール完了後、システムの再起動を求められる場合があります。
NVIDIA CUDA ツールキット 11.8 のインストール
CUDAツールキットには、GPUでプログラムを実行するためのライブラリ、`nvcc`コンパイラ、開発ツールなどが含まれています。ここでは`winget`を使ってCUDA 11.8をインストールする手順を示します。
NVIDIA CUDA ツールキットの概要と注意点
NVIDIAのGPUを使用して並列計算を行うための開発・実行環境です。
主な機能: GPU を利用した並列処理のコンパイルと実行、GPU のメモリ管理、C++をベースとした拡張言語(CUDA C/C++)とAPI、ライブラリ(cuBLAS, cuFFTなど)を提供します。
【NVIDIA CUDA ツールキットの動作に必要なもの】
- CUDA対応のNVIDIA GPU。
- 対応するNVIDIA ドライバ。
- サポートされているバージョンのC++コンパイラ (Visual StudioまたはBuild Toolsをインストール済み)。
【Windows でインストールするときの一般的な注意点】
- Windows では,NVIDIA CUDA ツールキットのインストール中は,予期せぬ問題を避けるため、なるべく他のアプリケーションは終了しておくことが推奨されます。
- インストール後に環境変数が正しく設定されているか確認することが重要です。
【関連する外部ページ】
- NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive (他のバージョンが必要な場合)
- NVIDIA CUDA ツールキット の公式ドキュメント: https://docs.nvidia.com/cuda/index.html
- NVIDIA CUDA ツールキットのインストールに関する,NVIDIA CUDA Installation Guide for Windows: https://docs.nvidia.com/cuda/cuda-installation-guide-windows/index.html
【関連項目】 NVIDIA CUDA ツールキットの概要, NVIDIA CUDA ツールキットの他バージョンのインストール
- (再掲) 他のウィンドウを閉じる:インストール中のコンフリクトを避けるため、可能な限り他のアプリケーションを終了します。
- Windows で,コマンドプロンプトを管理者権限で起動します。
-
winget
コマンドで CUDA 11.8 をインストールします。以下のコマンドは、(必要であれば)NVIDIA GeForce Experienceと、指定したバージョンのNVIDIA CUDA ツールキット (11.8) をインストールします。また、
CUDA_HOME
環境変数を設定します(一部のツールで参照されることがあります)。rem グラフィックボードの確認 (参考) wmic path win32_VideoController get name rem CUDA Toolkit 11.8 のインストール winget install --scope machine Nvidia.CUDA --version 11.8 rem CUDA_HOME 環境変数の設定 (システム環境変数として設定) powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDA_HOME\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"
注釈: これは特定のバージョン(11.8)をインストールする例です。他のバージョンをインストールする場合は
--version
オプションを適宜変更してください(例:--version 11.2
)。利用可能なバージョンはwinget search Nvidia.CUDA
で確認できます。 - (重要) ユーザ環境変数 TEMP の設定(日本語ユーザ名の場合)
Windows のユーザ名に日本語(マルチバイト文字)が含まれている場合、CUDAコンパイラ
nvcc
が一時ファイルの作成に失敗し、コンパイルが正常に動作しないことがあります(エラーメッセージが表示されない場合もあるため注意が必要です)。この問題を回避するために、ユーザ環境変数TEMP
およびTMP
を、ASCII文字のみのパス(例:C:\TEMP
)に変更します。管理者権限のコマンドプロンプトで,次のコマンドを実行して
C:\TEMP
ディレクトリを作成し、ユーザ環境変数TEMP
とTMP
を設定します。mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"TMP\", \"C:\TEMP\", \"User\")"
この設定は、コマンドプロンプトを再起動するか、Windowsに再サインインした後に有効になります。
インストール後の環境変数の確認
CUDAツールキットのインストーラーは、通常、必要なシステム環境変数を自動で設定します。主なものを確認しましょう。
- システム環境変数 PATH
バージョン 11.8 をインストールした場合、通常、以下のパスがシステム環境変数 `PATH` に追加されます。これにより、コマンドプロンプトから `nvcc` などのコマンドを実行できるようになります。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
* 複数のバージョンのCUDAツールキットをインストールする場合の注意点:
複数のバージョンをインストールした場合、`PATH` 環境変数には各バージョンの `bin` ディレクトリが追加されることがあります。コマンドプロンプトで `nvcc` などを実行すると、`PATH` で最初に見つかったバージョンのものが使用されます。意図したバージョンが使われるように、必要に応じて環境変数の編集画面で `PATH` 内の順序を調整するか、使用するバージョンを明示的に指定する(例: フルパスで実行する、バージョン切り替えツールを使うなど)必要があります。通常、新しいバージョンのパスが既存のパスの**前**に追加されるように設定するのが一般的です。
- システム環境変数 CUDA_PATH (または CUDA_HOME)
バージョン 11.8 をインストールした場合、通常、以下のシステム環境変数が設定されます。これはCUDAツールキットのルートディレクトリを指します。
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
(wingetでインストールした場合、上記手順で
CUDA_HOME
も設定しています。CUDA_PATH
もインストーラによって自動設定されることが多いです。)* 複数のバージョンのCUDAツールキットをインストールしている場合、通常、最後にインストール(または環境変数を設定)したバージョンを指します。
- その他 (バージョン固有の環境変数)
バージョン 11.8 の場合、以下のようなバージョン固有の環境変数も設定されることがあります。
システム環境変数 CUDA_PATH_V11_8
CUDA_PATH_V11_8=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
これは、特定のバージョンを明示的に参照したい場合に便利です。
nvcc の動作確認 (パスの確認)
CUDAコンパイラ nvcc
にパスが通っている(コマンドプロンプトから直接実行できる状態になっている)ことを確認します。
新しいコマンドプロンプトを開き(環境変数の変更を反映させるため)、次のコマンドを実行します。
nvcc.exe
のフルパスが表示されれば、パスが正しく設定されています。エラーメッセージが出る場合は、環境変数 PATH
の設定を確認してください。
where nvcc

NVIDIA cuDNN v8.9.7 のインストール(Windows 上)
NVIDIA cuDNN (CUDA Deep Neural Network library) は、ディープラーニングの主要な計算(畳み込み、プーリング、正規化、活性化関数など)をGPUで高速化するためのライブラリです。TensorFlowやPyTorchなどのフレームワークでGPUを使用する場合に必要となります。
cuDNNはCUDAツールキットとは異なり、通常、NVIDIA Developer Programへの登録と手動でのファイル配置が必要です。
NVIDIA cuDNN
NVIDIA cuDNN は,NVIDIA CUDA ツールキット上で動作する、高性能なディープラーニング用ライブラリです.畳み込みニューラルネットワーク (CNN) やリカレントニューラルネットワーク (RNN) など,さまざまなディープラーニングモデルのトレーニングと推論を高速化します.
【cuDNN利用時の注意点: zlibwapi.dll エラー】
Windows環境でcuDNNを利用するアプリケーションを実行した際に、「Could not locate zlibwapi.dll. Please make sure it is in your library path!」というエラーが表示されることがあります。これは、cuDNNの一部の機能が圧縮ライブラリである zlib
に依存しているためです。このエラーが発生した場合は、後述する手順で ZLIB DLL をインストールする必要があります。
【関連する外部ページ】
- NVIDIA cuDNN の公式ページ(ダウンロードにはDeveloper Programへの登録が必要): https://developer.nvidia.com/cudnn
NVIDIA cuDNN のインストール(Windows 上)の概要
- NVIDIA Developer Program メンバーシップへの加入: cuDNNのダウンロードには無料のメンバーシップ登録が必要です。
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
- 互換バージョンの選択とダウンロード: インストール済みのCUDAツールキットのバージョン (今回は11.x) に適合するcuDNNのバージョン (今回はv8.9.7) を選択し、Windows用のzipファイルをダウンロードします。
- ファイルの展開と配置: ダウンロードしたzipファイルを展開(解凍)し、中のファイル(
bin
,include
,lib
フォルダ内)を、CUDAツールキットのインストールディレクトリにコピーします。 - (オプション) 環境変数の設定: 必要に応じてシステム環境変数
CUDNN_PATH
を設定します。 - (必要に応じて) ZLIB DLL のインストール:
zlibwapi.dll
が見つからないエラーが発生する場合にインストールします。 - 動作確認: cuDNNライブラリ (
cudnn64_*.dll
) にパスが通っているか確認します。
(必要な場合のみ) zlib のインストール(Windows 上)
【実行判断】 cuDNNを使用するプログラム実行時に「Could not locate zlibwapi.dll」エラーが発生した場合のみ、この手順を実行してください。zlibはデータ圧縮のためのライブラリで、cuDNNの一部の機能で利用されます。
以下の手順は、zlibのソースコードを取得し、Visual Studioのビルドツールを使用してビルド、インストールするものです。GitおよびCMakeが事前にインストールされている必要があります。
- Windows で,コマンドプロンプトを管理者権限で起動します。
- 次のコマンドを順に実行します。
これらのコマンドは、ユーザのホームディレクトリに移動し、既存のzlibディレクトリがあれば削除、GitHubからzlibのソースコードをクローンし、CMakeを使ってVisual Studio 2022用のプロジェクトファイルを生成、Releaseモードでビルドして
C:\zlib
にインストールし、最後にシステム環境変数PATH
にC:\zlib\bin
を、ZLIB_HOME
にC:\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\ rem Visual Studio 17 2022 (VS2022) 用の 64bit プロジェクトを生成し、C:\zlib にインストールする設定 cmake . -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_INSTALL_PREFIX=c:/zlib rem Release モードでビルドし、インストールを実行 cmake --build . --config RELEASE --target INSTALL rem 環境変数 PATH に C:\zlib\bin を追加 (システムの既存PATHに追加) powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $newpath = $oldpath + \";c:\zlib\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $newpath.TrimEnd(';'), \"Machine\")" rem 環境変数 ZLIB_HOME を設定 powershell -command "[System.Environment]::SetEnvironmentVariable(\"ZLIB_HOME\", \"C:\zlib\", \"Machine\")"
注意: この手順は比較的複雑です。エラーが発生した場合は、CMakeやVisual Studio Build Toolsのインストール状況を確認してください。また、信頼できるソースからビルド済みのzlibバイナリ(zlibwapi.dllを含む)を入手し、システムのPATHが通ったディレクトリに配置する方法もありますが、セキュリティリスクに注意が必要です。
【関連する外部ページ】
- zlib の公式ページ: https://www.zlib.net/
【関連項目】 zlibについて
NVIDIA cuDNN 8.9.7 のインストール手順(Windows上)
- NVIDIA cuDNN のウェブページを開きます。
- ダウンロードセクションに進みます。(「Download cuDNN」ボタンなどをクリック)
- NVIDIA Developer Program へのログイン/登録が求められます。アカウントがない場合は無料で作成します。(「Join now」または「Login」)
利用者本人が,電子メールアドレス,表示名,パスワード,生年月日などを登録し,利用条件等に合意します.
- ログイン後、ダウンロードページが表示されます。最新版ではなく特定のバージョンが必要なため、「Archive of Previous cuDNN Releases」やそれに類するリンクをクリックします。
- アーカイブページで、目的のメジャーバージョン(例: cuDNN 8.x)を選択します。
- ダウンロードしたいバージョン(今回は cuDNN v8.9.7)を探し、インストール済みのCUDAバージョン (今回は CUDA 11.x) に対応するものを選びます。
「cuDNN Library for Windows (x86_64)」のような、Windows向けのリンクをクリックします。
- ライセンス条項を確認・同意し、ダウンロードを開始します。(.zip ファイルがダウンロードされます)
- ダウンロードした .zip ファイルを、7-Zipなどのツールを使って展開(解凍)します。
展開すると、通常
bin
,include
,lib
というサブフォルダが含まれています。 - CUDAツールキットがインストールされているディレクトリを開きます。デフォルトでは通常「
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
」です。 - (重要) ファイルのコピー: 先ほど展開してできたcuDNNのフォルダ(
bin
,include
,lib
)の中身を、それぞれ対応するCUDAツールキットのインストールディレクトリ内のフォルダ(bin
,include
,lib
)にコピー(マージ)します。- 展開したcuDNNの
bin
フォルダ内のファイル (例:cudnn*.dll
) を CUDA のbin
フォルダ (C:\...\v11.8\bin
) へコピーします。 - 展開したcuDNNの
include
フォルダ内のファイル (例:cudnn*.h
) を CUDA のinclude
フォルダ (C:\...\v11.8\include
) へコピーします。 - 展開したcuDNNの
lib\x64
フォルダ内のファイル (例:cudnn*.lib
) を CUDA のlib\x64
フォルダ (C:\...\v11.8\lib\x64
) へコピーします。
- 展開したcuDNNの
- パスが通っていることを確認します。
cuDNNのDLLファイル(例:
cudnn64_8.dll
- バージョンによって数字は変わります)が、CUDAツールキットのbin
ディレクトリ(システム環境変数PATH
に含まれているはず)に正しくコピーされたか確認します。新しいコマンドプロンプトを開き,次のコマンドを実行します。DLLファイルのフルパスが表示されればOKです。エラーメッセージが出ないことを確認してください.
where cudnn64_8.dll
(注:
cudnn64_8.dll
はcuDNN 8.x系のファイル名です。バージョンによってファイル名が異なる場合があります。where cudnn*.dll
などで確認してください。) - (オプション) システム環境変数 CUDNN_PATH の設定
一部のフレームワークやライブラリは、cuDNNの場所を特定するために
CUDNN_PATH
環境変数を参照することがあります。設定しておくと互換性が向上する場合があるため、設定を推奨します。Windows では,コマンドプロンプトを管理者として開き,次のコマンドを実行して、システム環境変数
CUDNN_PATH
をCUDAツールキットのインストールディレクトリに設定します。コマンドプロンプトを管理者として実行する方法は、別ページで説明しています.
powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\", \"Machine\")"
Visual Studio の x64 Native Tools コマンドプロンプトを起動します。
- Visual Studio の x64 Native Tools コマンドプロンプトを起動します。
起動は,Windows のスタートメニューで「Visual Studio 2022」フォルダの下にある「x64 Native Tools Command Prompt for VS 2022」などを選びます。「x64」は64ビット環境向けであることを意味します。
* 32ビット版のNative Tools コマンドプロンプト(例: x86 Native Tools)では、64ビット用CUDAツールキットの nvcc
が正しく動作しない場合があります。
以下の操作は,この x64 Native Tools コマンドプロンプトで行います。
- C++コンパイラ(
cl.exe
)へのパスが通っているか確認します。
コマンドプロンプトで「where cl
」を実行し、cl.exe
のパスが表示されることを確認します。エラーメッセージが出る場合は、Visual Studio または Build Tools のインストールに問題がある可能性があります。
where cl
- nvccの動作確認用のサンプルコードを作成します。
ここでは、NVIDIAのブログ記事 Easy Introduction to CUDA C and C++ に記載されている簡単なベクトル加算のコードを使用します。このコードは、CPUとGPUそれぞれでベクトル加算を行い、結果が一致するかを確認するものです。
まず、作業ディレクトリに移動し、エディタ(ここではメモ帳 notepad
)でソースファイル hello.cu
を作成します。
cd /d c:%HOMEPATH%
notepad hello.cu
メモ帳が開いたら、上記リンク先のブログ記事にある最初のサンプルコード(`// Simple vector addition Cuda C++` から始まるコード)をコピー&ペーストし、ファイルを保存します。
ファイル hello.cu が作成されます。
- コードのビルドと実行
nvcc hello.cu
コマンドでソースコードをコンパイルします。成功すると、デフォルトで a.exe
という実行ファイルが生成されます。
次に .\a.exe
を実行します。プログラムが正常に動作すれば、「Max error: 0.000000
」のように表示されます。これが表示されれば、CUDAツールキットの基本的なコンパイルと実行が成功しています。
rem 以前の実行ファイルがあれば削除
del a.exe
rem コンパイル
nvcc hello.cu
rem 実行
.\a.exe
【うまく動かない場合のトラブルシューティング】
- 「Max error: 2.000000」のように 0 以外の値が表示される場合:
これは、GPUでの計算結果が期待値と異なっていることを示します。GPUハードウェアの問題、ドライバの不具合、CUDAやcuDNNのインストールが不完全またはバージョン互換性の問題などが考えられます。まずはインストール手順に誤りがなかったか再確認してください。ドライバやツールキットを再インストールしてみるのも有効な場合があります。また、NVIDIAの公式フォーラムなどで同様の問題が報告されていないか確認することも推奨します。
- 「Max error: ...」という表示自体が出ない場合、またはコンパイル時にエラーが出る場合:
- 日本語ユーザ名とTEMP変数: (再掲)Windows のユーザ名が日本語を含む場合、「nvcc hello.cu」を実行してもエラーメッセージなしにコンパイルが失敗することがあります。
この場合は、CUDAインストールセクションで説明した手順に従い、ユーザ環境変数 TEMP
および TMP
に日本語を含まないパス(例: C:\TEMP
)が設定されているか再確認してください。設定を変更した後は、新しいコマンドプロンプトを開いて再度試してください。
rem (再掲) TEMP/TMP 変数設定確認・設定コマンド例
mkdir C:\TEMP
powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
powershell -command "[System.Environment]::SetEnvironmentVariable(\"TMP\", \"C:\TEMP\", \"User\")"
設定後、新しいx64 Native Tools コマンドプロンプトを開き,再度 nvcc hello.cu
と .\a.exe
を実行して確認します。
nvcc hello.cu
.\a.exe
- Visual Studio / Build Tools の問題: C++コンパイラ(
cl.exe
)が見つからない、またはリンカエラーなどが発生する場合は、Visual Studio または Build Tools のインストールが正しく完了しているか確認してください。C++ ビルドツールの動作確認(別ページ)の手順も参考にしてください。
- その他の問題: 環境変数
PATH
の設定ミス、CUDAツールキットのインストール不備などが考えられます。エラーメッセージをよく読み、関連情報を検索するか、NVIDIAのドキュメントやフォーラムを参照してください。
起動は,Windows のスタートメニューで「Visual Studio 2022」フォルダの下にある「x64 Native Tools Command Prompt for VS 2022」などを選びます。「x64」は64ビット環境向けであることを意味します。
* 32ビット版のNative Tools コマンドプロンプト(例: x86 Native Tools)では、64ビット用CUDAツールキットの nvcc
が正しく動作しない場合があります。
以下の操作は,この x64 Native Tools コマンドプロンプトで行います。
cl.exe
)へのパスが通っているか確認します。
コマンドプロンプトで「where cl
」を実行し、cl.exe
のパスが表示されることを確認します。エラーメッセージが出る場合は、Visual Studio または Build Tools のインストールに問題がある可能性があります。
where cl

ここでは、NVIDIAのブログ記事 Easy Introduction to CUDA C and C++ に記載されている簡単なベクトル加算のコードを使用します。このコードは、CPUとGPUそれぞれでベクトル加算を行い、結果が一致するかを確認するものです。
まず、作業ディレクトリに移動し、エディタ(ここではメモ帳 notepad
)でソースファイル hello.cu
を作成します。
cd /d c:%HOMEPATH%
notepad hello.cu

メモ帳が開いたら、上記リンク先のブログ記事にある最初のサンプルコード(`// Simple vector addition Cuda C++` から始まるコード)をコピー&ペーストし、ファイルを保存します。
ファイル hello.cu が作成されます。

nvcc hello.cu
コマンドでソースコードをコンパイルします。成功すると、デフォルトで a.exe
という実行ファイルが生成されます。
次に .\a.exe
を実行します。プログラムが正常に動作すれば、「Max error: 0.000000
」のように表示されます。これが表示されれば、CUDAツールキットの基本的なコンパイルと実行が成功しています。
rem 以前の実行ファイルがあれば削除
del a.exe
rem コンパイル
nvcc hello.cu

rem 実行
.\a.exe

【うまく動かない場合のトラブルシューティング】
- 「Max error: 2.000000」のように 0 以外の値が表示される場合:
これは、GPUでの計算結果が期待値と異なっていることを示します。GPUハードウェアの問題、ドライバの不具合、CUDAやcuDNNのインストールが不完全またはバージョン互換性の問題などが考えられます。まずはインストール手順に誤りがなかったか再確認してください。ドライバやツールキットを再インストールしてみるのも有効な場合があります。また、NVIDIAの公式フォーラムなどで同様の問題が報告されていないか確認することも推奨します。
- 「Max error: ...」という表示自体が出ない場合、またはコンパイル時にエラーが出る場合:
- 日本語ユーザ名とTEMP変数: (再掲)Windows のユーザ名が日本語を含む場合、「nvcc hello.cu」を実行してもエラーメッセージなしにコンパイルが失敗することがあります。
この場合は、CUDAインストールセクションで説明した手順に従い、ユーザ環境変数
TEMP
およびTMP
に日本語を含まないパス(例:C:\TEMP
)が設定されているか再確認してください。設定を変更した後は、新しいコマンドプロンプトを開いて再度試してください。rem (再掲) TEMP/TMP 変数設定確認・設定コマンド例 mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"TMP\", \"C:\TEMP\", \"User\")"
設定後、新しいx64 Native Tools コマンドプロンプトを開き,再度
nvcc hello.cu
と.\a.exe
を実行して確認します。nvcc hello.cu .\a.exe
- Visual Studio / Build Tools の問題: C++コンパイラ(
cl.exe
)が見つからない、またはリンカエラーなどが発生する場合は、Visual Studio または Build Tools のインストールが正しく完了しているか確認してください。C++ ビルドツールの動作確認(別ページ)の手順も参考にしてください。 - その他の問題: 環境変数
PATH
の設定ミス、CUDAツールキットのインストール不備などが考えられます。エラーメッセージをよく読み、関連情報を検索するか、NVIDIAのドキュメントやフォーラムを参照してください。
- 日本語ユーザ名とTEMP変数: (再掲)Windows のユーザ名が日本語を含む場合、「nvcc hello.cu」を実行してもエラーメッセージなしにコンパイルが失敗することがあります。