作業環境
- windows 10
- visual studio code
- python 3.11
- RTX 3090 Ti
概要
CUDAを11.3から12.3にアップデートします。
深層学習開発に必要なCUDAとcuDNNは、インストール手順に環境変数の設定などが含まれており、ちょっと面倒です。
ものぐさな筆者は、アップデート作業を年1回、気が向いたら実施する程度です。
年1回の作業手順なんて、大体は忘却しています。
毎回調べ直すのも、それはそれで面倒なので、手順を纏めました。
インストールするCUDAのバージョンを調べる
NVIDIA公式のNVIDIAドライバダウンロードから、対応しているCUDAのバージョンを調べます。
[探す]を押下すると[GeForce Game Ready ドライバー]が表示されます。その中の[バージョン]を元に対応しているCUDAバージョンを探していきます。
NVIDIA公式のCUDAのドキュメントから、対応しているバージョンを確認できます。執筆時の2023年11月末時点で最新のCUDA 12.3 Update 1には、546.12以上が必要らしいです。先ほど確認したバージョンには[546.17]と表記されていたので、最新が使えそうなことが分かりました。
前提としてグラフィックドライバーは、GeForce Experienceから取得可能な最新バージョンがインストールされているものとします。
CUDAのインストール
NVIDIA DeveloperからCUDA Tooklitをダウンロードします。NVIDIA Developerはユーザー登録が必要です。登録項目が全部英語で混乱した記憶しか残っていないため、登録方法について触れるのは諦めます。
[Download now]を押下すると最新バージョンのCUDA Toolkitのダウンロードページに飛びます。任意のバージョンを取得したい場合は、こちらからアーカイブが取得できます。
上から順に以下の項目を選択していきます。
全ての選択が完了するとインストーラーのダウンロード方法と、その後のインストール方法が案内されます。[Download (3.1 GB)]を押下するとインストーラーがダウンロードされます。
CUDAのインストーラーは実行ファイル形式なため右クリック実行 or ダブルクリックで実行します。
インストールに必要な一時ファイルの展開場所もご親切に選択できます。(この項目いる?)
[OK]を押下したら暫し待ちます。
読んだ気分になってから[同意して続行する(A)]を押下します。
[高速 (推奨)(E)]が選択されていることを確認して[次へ(N)]を押下します。
既にCUDAがインストールされている場合は環境変数まわりについて助言されます。英語で助言されても筆者には理解できないので無視します。
暫し待ちます。(2回目)
失敗しました。(なんでや)
どうせ開発環境依存のエラーでしょう。この程度のこと、Pythonさんとpipさんで慣れっこです。
唯一の情報であるステータスを確認するとNsight Visual Studio Editionが失敗していることが分かります。とりあえず、この子を除外してインストールが進行するか試してみます。それでダメならグーグル先生に訊いてみます。
再度インストーラーを実行して、インストールオプションを変更します。[カスタム (詳細)(C)]を選択してから[次へ(N)]を押下します。
Nsight Visual Studio Editionの名称が入ったコンポーネントを除外します。察するにC++版に必要な感じでしょうか。筆者はPythonさんと戯れたいだけなので、要らないわ、知らんけど。
以下4つのコンポーネントのチェックを外しました。
- Nsight VSE
- Visual Studio Integration
- Nsight Systems
- Nsight Compute
暫し待ちます。(3回目)
はい、勝ちました。対あり。
インストールが完了したら再起動をしましょう。Windowsさんは環境変数の適用タイミングが大体、再起動後です。NVIDIA インストーラーによって環境変数が設定、更新されているかは把握していませんが、安牌を取るなら再起動をしましょう。
再起動後に環境変数が変更されているのか否か、確認してみます。
CUDAパスのデフォルト値が先ほどインストールしたバージョンに変更されていますね。てか、10.1インストールしていたのですね、過去の筆者さん。記憶にないけど。
インストールするcuDNNのバージョンを調べる
ドキュメントから先ほどインストールしたCUDAに対応したcuDNNのバージョンを調べます。CUDA 12系は、527.41以上であれば、cuDNN 8.9.6が使用可能なようです。というか12未満でも、8.9.6なのですね。
cuDNNのインストール
NVIDIA DeveloperからcuDNNをダウンロードします。CUDA Toolkitと同様にユーザー登録必要です。
[Download cuDNN Library]を押下するとダウンロードページに飛びます。規約に同意後、[Local Installer for Windows (Zip)]を押下するとダウンロードされます。
Zipを解凍したのですが、ダウンロード内でかくれんぼが開始されました。(マジでどこいった)
ダウンロードの検索から探します。
[C]で検索したらCIRCUSの解除キー出てきた。草。
詳しくは知らんけど、やらかして MyCIRCUS ID ないなったらしいですからね。
D.C.の思い出に浸っていたら見つかりました。
解凍した中身を一式、Cドライブに作成してあるtoolsフォルダに移動します。toolsフォルダがない場合は、新規作成してください。
環境変数の設定
環境変数の設定をしないといけないのですが、なにも覚えていません。仕様変更が発生していないことを祈って11.3と同様の設定値を入力します。
1~4がCUDAの設定、5がcuDNNの設定です。
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\libnvvp
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\extras\CUPTI\lib64
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\include
- C:\tools\cuda\bin
入力が終わったら11.3の設定を削除して、同じ位置に変更します。[OK]を押下したら、再起動しておきましょう。
念のため触れておきますが、筆者は11.3から12.3にアップデートしているので、11.3の設定値があります。初めてCUDAをインストールした環境には設定値は当然ありません。
掲載順序を間違えましたが、環境変数の設定は[Path]を選択した後に[編集(E)…]を押下するだけです。