筆者環境
- Ubuntu20.04 or 22.04
- Nvidia gpu
やること
- 事前準備
- GPUドライバのインストール
- dockerのインストール & 設定
- nvidia dockerのインストール & 設定
- (CUDAのインストール)
- (minicondaのインストール)
事前準備
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install openssh-server
ip address
OpenSSH Serverは個人的に必須です。
GPUドライバインストールした際、画面オフになる場合がありコンソールにアクセスすることが多いです。IPアドレスは固定しとけばよいのですが、念のための確認用です。
GPUドライバのインストール
NVIDIAのホームページからドライバダウンロード
https://www.nvidia.com/download/index.aspx
sudo chmod +x <ドライバ名>
sudo sh ./<ドライバ名>
sudo reboot
sudo nvidia-smi
大抵そのまま上手くいかないので対処法をいくつか。
試行1
nouveauの無効化
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
試行2
gdmのサービス停止
sudo service gdm stop
試行3
dkmsが邪魔している場合、オプション付けてドライバをインストール
sudo sh ./<ドライバ名> -dkms
詰まる点は沢山あるが、大体これでいける
dockerのインストール&設定
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudoなしで実行するための設定
sudo groupadd docker
sudo usermod -aG docker $USER
(VMなら一旦ここでリログ)
newgrp docker
# 最後にテスト
docker run hello-world
CUDAのインストール(オプション)
cuda toolkitは個人的にコンテナで使うことが多いが念のため。
GPUドライバとセットでインストールする方法もありますが今回は単独で
nvidia-smiでCUDAの対応Version確認(右上に表示)
nvidia-smi
下記から指定してダウンロード
https://developer.nvidia.com/cuda-toolkit-archive
runファイルでGPUドライバを含まずにインストールするのがおススメ
※v12.2の場合
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
sudo sh cuda_12.2.2_535.104.05_linux.run
パス設定
echo 'export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
上手くいかない方はこちらを参考に
https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#runfile-installer
minicondaインストール&設定(オプション)
Python使う人にはおすすめ。
https://docs.conda.io/projects/miniconda/en/latest/index.html
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
参考ページ
仕事柄公式HPの情報をソースにしています
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
https://us.download.nvidia.com/XFree86/Linux-x86_64/535.146.02/README/index.html
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-installation