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 | すべてのドライバーパッケージをインストールします。新しいバージョンのアップグレードに対応します。 |
環境変数の設定
PATH変数とLD_LIBRARY_PATH変数を設定します。以下はCUDA Toolkit 11.8の例なのでバージョンに合わせて数字だけ変更してください。また、そのセッションのみ有効なので毎回入力するのが煩わしい場合は、~/.bashrcや~/.bash_profileなどのシェルの設定ファイルにこれらの行を追加して自動的に読み込まれるようにしてください。
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}}
CUDA Toolkitのインストール (Conda)
Condaコマンドを使用して仮想環境にインストールすることができます。Windowsインストーラと違い一部コンポーネントはダウンロードされません。以下のリンクにアクセスしてインストールしたいCUDA Toolkitのバージョンのコードをコピーして実行してください。(自動的に環境変数のPATHは設定されます)