pytorchを使えるようにCUDAをセットアップしたので
その作業メモとなります。
(Dockerが使えれば楽なのですが、Windows版のDockerでcuda使うためには
現時点ではinsider previewに登録しないとダメっぽいので...)
事前に必要なもの
Visual Studio(正確にはVS build toolsの中のC/C++パッケージ?)が必要となります。
手順
基本的には、以下で述べる3つのソフトウェアをインストールすればOKです。
ただし、ライブラリのバージョンなどを踏まえて
あえてバージョンを落としてインストールしたりするのが面倒ではあります。
step.1 NVIDIAドライバーの入手
上記のページから、GPUに対応するインストーラーを入手してください。
今回の3060tiの場合は以下のようになりました。
このNVIDIAドライバーはあまりバージョン対応など考えず
とりあえずデフォルトの最新版を入手で大丈夫です。
※日ごろからGeforce Experienceアプリで最新ドライバにしている人はこのプロセスは不要かもしれません。
step.2 CUDA toolkitの入手
これはまず、自分が使いたいライブラリの対応状況を確認する必要があります。
今回はpytorchですので、CUDA 11.1 が必要となりそうです。
で、先ほどのNVIDIAドライバーがCUDA 11.1に対応していることを
念のために以下リンク先で確認。
最新のやつなら古いCUDAにも対応しているみたいです)
確認が取れたら、以下のアーカイブから欲しいバージョンのCUDAを取得。
(私のバージョンは11.1.1でした)
step.3 cuDNNの入手
以下のリンク先からcuDNNを入手します。
進めていき、step.2で取得したCUDAのバージョンと対応するcuDNNを選べばOKです。
step.4 インストール
これまでで入手したものを順にインストールします。
まずはNVIDIAドライバー。
次にCUDA toolkit。ちなみにここでVisual Studioが必要になります。
Visual Studioのバージョンが違う的なメッセージが出たりしますが、
それは無視して進めて問題は出なかったです。
で、最後にcuDNNのzipファイルを展開します。
展開後は、zipの中身のcudaフォルダを適当なCドライブ直下などに配置し
ユーザー環境変数のPathにC:/cuDNN/cuda/bin
通して完了です。
動作確認
以上でGPUが使えるようになったと思いますのでpytorchをインストールして動作確認です。
インストールのコマンド例は、最新版なら以下
ちょっと古めのコマンド例は以下
となります。私の場合、cudatoolkit=11.1なので古めのコマンドを参照し
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
で、インストールが完了したら、
import torch print(torch.cuda.is_available())
を実行し、エラーがなければOKです。
今回の関連図書
pytorch習熟にはこのあたりの本から始めるのがいいかなと思います。