はじめに
機械学習でGPUを使用するとき、CUDAのバージョンやドライバーの更新などかなり面倒くさいですよね
本記事では、CUDAのバージョン変更の最も簡単な方法を紹介します。
環境
Ubuntu OS
Ubuntu on WSL
Ubuntu on Docker
様々な環境で対応することができます。
本記事で使用する環境
本記事ではUbuntu OS 20.04を使用します
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 32% 47C P2 39W / 151W | 1153MiB / 8192MiB | 10% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1227 G /usr/lib/xorg/Xorg 59MiB |
| 0 N/A N/A 1999 G /usr/lib/xorg/Xorg 339MiB |
| 0 N/A N/A 2140 G /usr/bin/gnome-shell 50MiB |
| 0 N/A N/A 5415 G ...078913938099486096,262144 71MiB |
| 0 N/A N/A 9540 G ...RendererForSitePerProcess 55MiB |
| 0 N/A N/A 14676 G gzclient 16MiB |
| 0 N/A N/A 14685 G gzserver 5MiB |
| 0 N/A N/A 15225 G .../ros/noetic/lib/rviz/rviz 4MiB |
| 0 N/A N/A 16556 C python3 528MiB |
+-----------------------------------------------------------------------------+
最新のNvidia-DriverとCUDA12.0が認識されています。
今回はドライバは変更せず、CUDA11.7を使用できるようにします。
ステップ① : 使用したいCUDAをダウンロードとインストール
Nvidia Developerの公式サイトから使用したいCUDAのランタイムファイルをダウンロードします。
今回の例ではCUDA11.7をダウンロードします。
ここで、runfile
をインストールするコマンドを下記のように変更します。
$ sudo sh cuda_11.7.0_515.43.04_linux.run --toolkit --silent --override
何をしているかというと、CUDAのインストールパスを /usr/local/
に変更しています。
正しくインストールされているか確認してみましょう。
$ ls /usr/local
bin/ cuda@ cuda-11.7/ etc/ games/ include/ lib/ man@ sbin/ share/ src/
cuda-11.7
が確認できれば成功です。
ステップ② : インストールしたCUDAにPATHを通す
あとは、使用するCUDAにPATHを通せば完成です。
zshrc
や bashrc
に下記を追加します。
export PATH="/usr/local/cuda-11.7/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
上記のcuda-11.7の箇所を使用したいバージョンに切り替えていくことで任意のCUDAのバージョンに変更することが可能です
確認として下記コマンドで使用したいCUDAが表示されるか確認しましょう
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
ちなみに、nvidia-smi
ではCUDA12.0のままになっていますよ。
終わりに
CUDAのバージョンを一番簡単に変更できる方法でした。
よき機械学習ライフを!