PyTorchとCUDA Toolkitの依存関係とインストール方法、CUDA ToolkitとCompute Capabilityの対応などを紹介します。
PyTorchとCUDA Toolkitについて
PyTorchは、深層学習のためのオープンソースの機械学習ライブラリです。PyTorchはGPUアクセラレーションをサポートしており、NVIDIAのGPUを利用する環境構築にCUDA Toolkitが必要となります。
Compute Capabilityの確認
まず初めに、利用するグラフィックボードが対応するCUDA Toolkitのバージョンを調べます。以下のリンクからお使いのグラフィックボードのCompute Capabilityを調べてください。Compute CapabilityはNVIDIAのGPUにおける機能や性能に関する情報を示すものです。
CUDA ToolkitとCompute Capabilityの対応表
CUDA ToolkitのバージョンでサポートされるCompute Capabilityの範囲があるので確認してください。(例 AmpereアーキテクチャのRTX 3xxxのCompute Capabilityは8.6なのでCUDA Toolkit 11.1~12.3まで対応している)
CUDA Toolkit | Kepler (early) | Kepler (late) | Maxwell | Pascal | Volta | Turing | Ampere | Ada Lovelace | Hopper |
---|---|---|---|---|---|---|---|---|---|
9.0 – 9.2 | 3.0 | 7.0 | |||||||
10.0 – 10.2 | 3.0 | 7.5 | |||||||
11.0 | 3.5 | 8.0 | |||||||
11.1 – 11.4 | 3.5 | 8.6 | |||||||
11.5 – 11.7.1 | 3.5 | 8.7 | |||||||
11.8 | 3.5 | 9.0 | |||||||
12.0 – 12.3 | 5.0 | 9.0 |
これでお使いのグラフィックボードが対応するCUDA Toolkitのバージョンが分かったと思います。
PyTorchのインストール
PyTorchのインストールになりますがPyTorchのバージョンと対応するCUDAバージョンがあります。以下のリンクにアクセスしてください。

インストールしたいPyTorchのバージョンを探します。画像の例だとv2.0.0ではCUDAの11.7と11.8が対応していることがわかりました。
あとはConda (condaでインストール) かWheel (pipでインストール) にあるコードを使ってインストールすることができますが、先にCUDA Toolkitをインストールしましょう。
CUDA Toolkitのインストール (Windows)
CUDA Toolkitのダウンロード
以下のリンクから確認したCUDA Toolkitのバージョンをダウンロードします。

環境を選択していきDownloadをクリックしてください。Installer Typeの違いは、localはすべてのコンポーネントが含まれており、networkはインストール時に選択したパッケージのみダウンロードします。
インストールオプション
ダウンロードしたインストーラを実行してください。CUDA ToolkitインストーラにはNVIDIAグラフィックドライバなども含まれているため確認が必要です。

インストールオプションでカスタムを選択してください。

CUDA以外にもExperienceやディスプレイドライバ、オーディオドライバなどがコンポーネントにあります。ディスプレイドライバがダウングレードされる場合もあります。不要なものはチェックを外してください。またVisual Studio IntegrationというCUDAのVisual Studioへの統合機能があります。Visual Studioを利用しない場合はチェックを外すことで下の画面が出ません。

サポートされているバージョンのVisual Studioが見つからない場合の画面になります。このままインストールを続行してもよいですが、インストールに失敗する場合やVisual Studio Integrationを利用しない場合はコンポーネントのチェックを外してください。
CUDA Toolkitのインストール (Linux)
CUDA Toolkitのインストール
確認したCUDA Toolkitのバージョンを選択します。

環境を選択していきますがInstaller Typeは(RPM/deb)を勧められているので選択してください。あとは表示されたコマンドを実行するだけですが最後の行のsudo apt-get -y install cudaでは最新のバージョンがインストールされてしまいます。以下を参考に指定してください。
メタパッケージ | 目的 |
---|---|
cuda | すべてのCUDAツールキットとドライバーパッケージをインストールします。新しいバージョンのアップグレードに対応します。 |
cuda-11-8 | すべてのCUDAツールキットとドライバーパッケージをインストールします。指定されたバージョンがインストールされます。 |
cuda-toolkit | すべてのCUDAツールキットをインストールしますがドライバは含まれません。新しいバージョンのアップグレードに対応します。 |
cuda-toolkit-11-8 | すべてのCUDAツールキットをインストールしますがドライバは含まれません。指定されたバージョンがインストールされます。 |
cuda-drivers | すべてのドライバーパッケージをインストールします。新しいバージョンのアップグレードに対応します。 |
環境変数の設定
CUDA ToolkitのPATHとLD_LIBRARY_PATHを設定します。以下はCUDA 11.8の例ですが、バージョンに合わせて数字を変更してください。この設定は、現在のターミナルセッションのみ有効です。ターミナルを閉じるとリセットされるため、毎回手動で設定が必要です。
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
毎回設定するのが面倒な場合は、.bashrcに追記すると、ターミナルを開くたびに自動で読み込まれます。
echo 'export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
source ~/.bashrc