やること
- CUDAとcuDNNを機械学習用gpuサーバ(ubuntu20.04)に導入する
- 全部ssh接続で完結させる(サーバに直接ディスプレイとか入力機器繋げるの面倒だと思うので)
- バージョン相性の悪い機械学習ライブラリを使いたい時はDockerで何とかすることにして、とりあえずそれぞれ最新版を導入する(Dockerについてはここでは扱わない)
バージョンは以下の通り(2022.4.6時点での最新版)
- CUDA: v11.6
- cuDNN: v8.4
CUDA
公式サイトからダウンロードする。
CUDA ToolkitのDOWNLOADボタンを押すと下記ページが出てくるので、手順にしたがってダウンロードする。
(もし過去バージョンが欲しければ、下の方にあるArchive of Previous CUDA Releasesってとこを見れば良い)
今回の場合は下図のようにOSなどを選択していけば、下部にインストールコマンドがずらっと出てくる。
導入したいサーバで直接、ないしはsshでサーバに入って、これらのコマンドを入力してあげれば良い。
$ ssh ユーザ名@IPアドレス
次にパスを通す。
ホームディレクトリにある~/.bashrc
というファイルを、viコマンドとか使って編集する。(編集できれば何でも良い)
$ sudo vi ~/.bashrc
~/.bashrc
の末尾に、以下の内容を追記する。
# cuda setup
export CUDA_HOME="/usr/local/cuda-11.6"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
export CPATH="$CUDA_HOME/include:$CPATH"
変更を保存したら再起動(reboot コマンド)
$ reboot
これらのコマンドが機能していれば問題ないと思います↓
$ nvidia-smi
$ nvcc -V
最後に要らんやつ消して終わり。
$ sudo rm cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
cuDNN
まずは公式のダウンロードページへ
Download cuDNN ボタンを押したら、NVIDIA Developer Program Membership Requiredとか出てきて、ログインかアカウント登録を迫られる。
アカウントを持っていなければサクッと登録して、ダウンロードページに進む。
今回のサーバに合わせて、Local Installer for Ubuntu20.04 x86_64[Deb]
を選択。
直接サーバでダウンロードしている場合は問題ないが、sshしている場合は手元のパソコンからサーバにこのファイルを送らないといけない。
今回はscp
コマンドで、サーバのホームディレクトリにダウンロードしたファイルを送る。
$ scp [オプション] コピー元パス 保存先パス
なので、
$ scp cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb ユーザ名@サーバのIPアドレス:/home/ユーザ名
でいけるはず。
ユーザ名@サーバのIPアドレス
のところはssh接続するときに使ってるものと同じ。
:/home/ユーザ名
のところは:~
でもいけるかも(要はホームディレクトリを指定しているだけなので)
サーバにインストーラファイルが用意できたら、さっきのダウンロードページの上の方に書いてあったInstallation Guideの通りに作業する。
↓今回の該当箇所
2.3.2. Debian Local Installation
Download the Debian local repository installation package. Before issuing the following commands, you'll need to replace X.Y and 8.x.x.x with your specific CUDA and cuDNN versions.
って書いてある通り、X.Y
とx.x.x.x
はダウンロードしたいバージョンに合わせて数字を代入する必要がある。
今回の例だと
-
X.Y
→ cudaのバージョンなので11.6
-
x.x.x.x
→ cuDNNのバージョンなので8.4.0.27
(さっきダウンロードしたインストーラファイルの名前を真似する)
これらに置き換えて、リンク先のコマンドを入力していけばOK。
※Installation Guideに書いてあったテストがうまくいくことも確認済。
最後に要らんやつ消して終わり。
$ sudo rm cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb
お疲れ様でした。