NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7.1,NVIDIA cuDNN v8.5 のインストールと動作確認(Windows 上)

Windows での,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7.1,NVIDIA cuDNN v8.5 のインストール,nvcc の使用例をスクリーンショット等で説明する.

目次

  1. Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)
  2. NVIDIA ドライバのインストール(Windows 上)
  3. NVIDIA CUDA ツールキット 11.7.1 のインストール(Windows 上)
  4. NVIDIA cuDNN v8.5 のインストール(Windows 上)
  5. nvcc を動かしてみる(x64 Native Tools コマンドプロンプトを利用)

サイト内の関連ページ

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月現在参考):

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(winget を使用)(Windows 上)

インストールの判断Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:

不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.

Build Tools for Visual Studio 2022 のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.BuildTools 
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Build Tools 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.

Visual Studio のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    1. コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
    2. インストールコマンドの実行
      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++によるデスクトップアプリケーション開発のためのワークロード一式
      • NativeDesktop.Core:C++デスクトップ開発に必要な基本コンポーネント群
      • VC.CLI.Support:マネージドコードとネイティブコードの統合開発を可能にするC++/CLIサポート
      • CoreEditor:コード編集,デバッグ,検索などの基本機能を提供するVisual Studioのコアエディタ
      • NuGet:.NETライブラリの依存関係を管理するパッケージ管理システム
      • Windows.SDK.Latest:Windows 向けアプリケーション開発用SDK(Software Development Kit)
      • VC.Tools.x86.x64:32ビット及び64ビット向けC++コンパイラとビルドツール
      • VC.ATL:Windowsコンポーネント開発用のActive Template Library
      • VC.ATLMFC:デスクトップアプリケーション開発用のMicrosoft Foundation Class Library

      システム要件と注意事項:

      • 管理者権限でのインストールが必須
      • 必要ディスク容量:10GB以上
      • 推奨メモリ:8GB以上のRAM
      • インストール過程でシステムの再起動が要求される可能性がある
      • 安定したインターネット接続環境が必要

      追加のコンポーネントが必要な場合は,Visual Studio Installerを使用して個別にインストールすることが可能である.

    3. インストール完了の確認
      winget list Microsoft.VisualStudio.2022.Community
      

      トラブルシューティング:

      インストール失敗時は,以下のログファイルを確認:

      %TEMP%\dd_setup_<timestamp>.log
      %TEMP%\dd_bootstrapper_<timestamp>.log
  2. Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Community 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.

NVIDIA ドライバのインストール(Windows 上)

NVIDIA ドライバ

NVIDIA ドライバは,NVIDIA製GPUを動作させるための重要なソフトウェアである.このドライバをインストールすることにより,GPUの性能を引き出すことができ,グラフィックス関連のアプリ,AI関連のアプリの高速化が期待できる.

ドライバはNVIDIA公式サイトである https://www.nvidia.co.jp/Download/index.aspx?lang=jp からダウンロードできる.このサイトからダウンロードするときには,グラフィックスカードとオペレーティングシステムを選択する. なお,NVIDIA GeForce Experiance を用いてインストールすることも可能である.

サイト内の関連ページ

  1. NVIDIA グラフィックス・ボードの確認

    Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.

    wmic path win32_VideoController get name
    
  2. NVIDIA ドライバのダウンロード

    NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.

    https://www.nvidia.co.jp/Download/index.aspx?lang=jp

  3. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
  1. NVIDIA グラフィックス・ボードの確認

    Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.

    wmic path win32_VideoController get name
    
  2. NVIDIA ドライバのダウンロード

    NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.

    https://www.nvidia.co.jp/Download/index.aspx?lang=jp

  3. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.

    サイト内の関連ページ

    NVIDIA の公式サイトから最新の NVIDIA ドライバをダウンロードしてインストールすることとは別に,NVIDIA CUDA ツールキットに同封されている NVIDIA ドライバをインストールすることもできる.

NVIDIA CUDA ツールキット 11.7.1 のインストール(Windows 上)

NVIDIA CUDA ツールキットのインストール時の注意点

NVIDIAのGPUを使用して並列計算を行うためのツールセット

主な機能: GPU を利用した並列処理,GPU のメモリ管理,C++をベースとした拡張言語とAPIとライブラリ

NVIDIA CUDA ツールキットの動作に必要なもの

  • CUDA対応のNVIDIA GPUが必要.

    そのために,NVIDIA グラフィックス・ボードを確認する. Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.

    wmic path win32_VideoController get name
    
  • NVIDIA ドライバのダウンロードとインストール

    NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.

    https://www.nvidia.co.jp/Download/index.aspx?lang=jp

  • Windows では,インストール前に,Build Tools for Visual Studio もしくは Visual Studio をインストールしておくことが必要である.

Windows でインストールするときの注意点

関連する外部ページ

関連項目NVIDIA CUDA ツールキット, NVIDIA CUDA ツールキット 12.5 のインストール(Windows 上), NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)

  1. NVIDIA CUDA ツールキットのアーカイブのページを開く

    https://developer.nvidia.com/cuda-toolkit-archive

  2. NVIDIA CUDA ツールキットのバージョンを選ぶ

    ここでは,NVIDIA CUDA ツールキット11.7 系列の最新版を選んでいる.

  3. Windows」,「11」,「exe [local]」を選ぶ.

    Windows 10 のときは,「10」を選ぶ.

  4. Base Installer」の右横の「Download」をクリックして,.exe ファイルをダウンロード
  5. exe ファイルのダウンロードが始まる
  6. ダウンロードした .exe ファイルを実行する.
  7. 展開(解凍)先ディレクトリ(フォルダ)の指定.

    既定(デフォルト)のままでよい.「OK」をクリック.

  8. 展開(解凍)が自動で行われるので,しばらく待つ.
  9. ライセンス条項の確認
  10. インストールオプションは,「カスタム(詳細)」を選び,「次へ」をクリック.
  11. コンポーネントを確認する.

    CUDA」にチェックする.その他は,必要なものがあればチェックする.「次へ」をクリック.

    • このとき,NVIDIA ドライバを選択することもできる(NVIDIA ドライバが未インストールであれば,インストールする).
    • 複数の版の NVIDIA CUDA ツールキットをインストールする場合には,古い版のNVIDIA CUDA ツールキットをインストールするときに「CUDA」だけを選ぶようにする.
  12. インストール場所の選択は,既定(デフォルト)のままでよい.「次へ」をクリック.
  13. Visual Studio Integration について表示された場合

    表示されなくても問題はない.

    表示された場合には,次のように判断する.

  14. このとき,Windows セキュリティの画面が開くことがある.開いた場合には,「インストール」をクリック.
  15. インストールが始まるので,確認する.
  16. このとき,グラフィックス・カードのドライバのインストールが始まる場合がある.「インストール」をクリックして,インストールを続行する.
  17. Nsight Visual Studio についての確認

    Visual Studio がインストール済みのときは,Nsight Visual Studio がインストールされたことが確認できる.確認したら「次へ」をクリック.

    Visual Studio をインストールしていないときは,Nsight for Visual Studio はインストールされない.

  18. インストール終了の確認.「閉じる」をクリック.

    *コンピュータを再起動してください」と表示される場合がある.そのときは,再起動する.

  19. NVIDIA CUDA ツールキットのインストールが終わったら,ユーザ環境変数 TEMP の設定を行う.

    Windowsユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.

    ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.

    mkdir C:\TEMP
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
    

インストール後の環境変数の確認

Windowsシステム環境変数自動で設定される

nvcc の動作確認 (パスの確認)

CUDAコンパイラ nvccパスが通っている(コマンドプロンプトから直接実行できる状態になっている)ことを確認します。

新しいコマンドプロンプトを開き(環境変数の変更を反映させるため)、次のコマンドを実行します。 nvcc.exe のフルパスが表示されれば、パスが正しく設定されています。エラーメッセージが出る場合は、環境変数 PATH の設定を確認してください。

where nvcc

NVIDIA cuDNN v8.5 のインストール(Windows 上)

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 のインストール(Windows 上)の概要

  1. NVIDIA Developer Program メンバーシップへの加入: cuDNNのダウンロードには無料のメンバーシップ登録が必要です。

    NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program

  2. 互換バージョンの選択とダウンロード: インストール済みのCUDAツールキットのバージョン (今回は11.x) に適合するcuDNNのバージョン (今回はv8.9.7) を選択し、Windows用のzipファイルをダウンロードします。
  3. ファイルの展開と配置: ダウンロードしたzipファイルを展開(解凍)し、中のファイル(bin, include, lib フォルダ内)を、CUDAツールキットのインストールディレクトリにコピーします。
  4. (オプション) 環境変数の設定: 必要に応じてシステム環境変数 CUDNN_PATH を設定します。
  5. (必要に応じて) ZLIB DLL のインストール: zlibwapi.dll が見つからないエラーが発生する場合にインストールします。
  6. 動作確認: cuDNNライブラリ (cudnn64_*.dll) にパスが通っているか確認します。

zlib のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. 次のコマンドを実行

    次のコマンドは,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 のダウンロードとインストールの手順

  1. NVIDIA cuDNN のウェブページを開く

    https://developer.nvidia.com/cuDNN

  2. ダウンロードしたいので,cuDNNのところにある「Download cuDNN」をクリック.
  3. NVIDIA Developer Program メンバーシップに入る

    NVIDIA cuDNN のダウンロードのため.

    Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.

  4. ログインする
  5. 調査の画面が出たときは,調査に応じる
  6. ライセンス条項の確認
  7. ダウンロードしたいバージョンを選ぶ

    ここでは「NVIDIA cuDNN v8.5.0 for CUDA 11.x」を選んでいる.

    このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.

  8. Windows にインストールするので Windows 版を選ぶ
  9. ダウンロードが始まる.
  10. ダウンロードした .zip ファイルを展開(解凍)する. その中のサブディレクトリを確認しておく.

    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明

  11. NVIDIA CUDA ツールキットをインストールしたディレクトリは,「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7」 のようになっている.確認する.
  12. 確認したら, さきほど展開してできたすべてのファイルとディレクトリを,NVIDIA CUDA ツールキットをインストールしたディレクトリにコピーする
  13. パスが通っていることを確認.

    次の操作により,cudnn64_8.dllパスが通っていることを確認する.

    Windowsコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.

    where cudnn64_8.dll
    
  14. Windowsシステム環境変数 CUDNN_PATH の設定を行う.

    システム環境変数 CUDNN_PATH の設定のため, Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\", \"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ツールキットの基本的なコンパイルと実行が成功しています。

    del a.exe
    nvcc hello.cu
    
    .\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のドキュメントやフォーラムを参照してください。