はじめに
機械学習の勉強をしていると、使用するAIモデルに合わせたライブラリやCUDAバージョンを用意する必要があります。このガイドでは、Ubuntu 24.04でDockerを使用し、任意のCUDAバージョンを使用したコンテナを実行する方法を説明します。
Dockerのインストールまでは前回の記事で紹介しているのでそちらを参考にしてください。
Dockerを使用する前に、、
まずは現在の環境でnvidiaドライバがインストールされているかを確認します。
ターミナルで以下コマンドを入力して確認をしてください。
nvidia-msi
もしドライバがなければ、vidiaのGPUが取り付けられていることを確認した上で以下のコマンドでドライバのインストールを行ってください。
sudo ubuntu-drivers autoinstall
nvidia コンテナツールキットのインストール
NVIDIA CONTAINER TOOLKITの公式ページを参考にインストールします。
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
こちらのコマンドでツールキットがインストールされたかを確認します。
nvidia-container-toolkit info
正しくインストールされていれば以下のコメントが出力されるはずです。
動かない場合は再起動してみてください。
Usage of nvidia-container-toolkit:
※以下割愛
CUDA/cuDNNのイメージのプル
ここから、任意のCUDAバージョンのイメージをローカルにプルし、立ち上げてみます。
nvidia/cudaのDocker hubから使用したいイメージを選択します。
使用したいTAGイメージを選択し、ターミナルにペーストして実行します。画面右にあるCopyボタンをクリックするとコマンドがコピーされて便利です。
今回、私はCUDAバージョン12.3.1のイメージを使用します。TAG名は以下のようなルールで決められていますので、自分の必要に合わせて使用してください。
-
12.3.1-base-ubuntu22.04
- イメージのタグを示し、イメージのバージョンや特定の構成を識別するために使用されます。
-
12.3.1
- CUDAのバージョン番号を示し、この場合、CUDA 12.3.1バージョンです。
-
base
- ベースイメージであることを示します。追加のツールやライブラリが含まれていない最小限のセットアップです。
-
ubuntu22.04
- ベースとなるオペレーティングシステムのバージョンを示しています。この場合、Ubuntu 22.04です。
以下のコマンドでイメージをプルします。
docker pull nvidia/cuda:12.3.1-base-ubuntu22.04
イメージの起動
ターミナルからイメージを起動します。
docker run --gpus all -it nvidia/cuda:12.3.1-base-ubuntu22.04
比較として、生Ubuntuとコンテナ内でOSバージョン及びGPUの認識を確認します。
OSがUbuntu 22.04となりCUDAバージョンが12.3となっていることが確認できます。
おわりに
ここまでで任意のCUDAバージョン及びOSのイメージをインストールし起動することができました。
この中で自分の行いたいAIの実行を行うことができます。