📑

【備忘録】Google Colab上のCUDAバージョン変更

2024/04/02に公開

はじめに

本記事は、Google Colabratory上のCUDAのバージョンを切り替える方法を忘れないように残す記事である。

Colabの環境確認(2024/04/02現在)

# OSの確認
!cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
# CUDAの確認
!ls -d /usr/local/cuda-*
/usr/local/cuda-12  /usr/local/cuda-12.2

!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0

現時点では、Ubuntu22.04、CUDA 12.2がインストールされている。

CUDAのダウングレード

本記事では、CUDA 12.2からCUDA 12.1にダウングレード行う。

CUDAのインストール

NVIDIA公式ページからCUDA 12.1のインストールコマンドを取得する。
(※12.1以外をインストールする場合もこれではず、、、)

%%bash
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

これをColabのセル上で実行すると、/usr/local/配下にcuda-12.1がインストールされる。

シンボリックリンクの張替え

今の状態だと、/usr/local/cudaには、

!ls -l /usr/local
drwxr-xr-x  1 root root 4096 Apr  2 01:18 bin
drwxr-xr-x  3 root root 4096 Mar 29 13:39 colab
lrwxrwxrwx  1 root root   22 Nov 10 04:57 cuda -> /etc/alternatives/cuda
lrwxrwxrwx  1 root root   25 Nov 10 04:57 cuda-12 -> /etc/alternatives/cuda-12
drwxr-xr-x 15 root root 4096 Apr  2 01:18 cuda-12.1
drwxr-xr-x  1 root root 4096 Nov 10 05:10 cuda-12.2

!ls -l /etc/alternatives/cuda
lrwxrwxrwx 1 root root 20 Nov 10 04:57 /etc/alternatives/cuda -> /usr/local/cuda-12.2

まわりまわって/usr/local/cuda-12.2が貼られている。

これをcuda12.1に変更する。(ついでにPATHも更新しておく。)

!export PATH="/usr/local/cuda-12.1/bin:$PATH"
!export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"

!unlink /usr/local/cuda
!ln -s /usr/local/cuda-12.1 /usr/local/cuda

最終的には以下のようになった。

!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

おわりに

今回は毎回検索しているGoogle ColabratoryのCUDAバージョン変更の手順をまとめた。

Discussion