はじめに
前回、NVIDIA GPUを搭載したPCにubuntu 24.04 Desktopをインストールしたので、引き続き初期設定をしていく。gpuに関係ない設定も一部ある。
ssh
ローカルネットワーク内からSSHできるようにするためにopen-sshをインストールする。
sudo apt install openssh-server
sudo systemctl status ssh # 確認
参考: SSH接続のための設定まとめ
avahi-daemon(mDNS)
IPアドレスではなくホストネームでsshできたほうが便利なため、mDNSを有効化する。このためにavahi-daemonをインストールする。
sudo apt update
sudo apt install avahi-daemon
sudo systemctl start avahi-daemon
sudo systemctl enable avahi-daemon
ssh USERNAME@HOSTNAME.local
みたいなコマンドでsshできればOK
uvのインストール
uvをメインに使っているのでインストールする。
uvのインストールコマンドを実行したらcurlがないといわれたのでcurlのインストールから。
sudo apt install curl
uvのインストール
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
確認(.bashrcへの追記は自動でされるので不要なはず)
source ~/.bashrc
uv --version
cudaのインストール
- nvidia-smiの出力から、推奨のcudaバージョンを確認(上の方に書いてある)。12.6だった。
- 「cuda 12.6 install」などで検索しNVIDIAのダウンロードページに遷移、適切なOSを選択し、インストールコマンドを表示させる。cuda-toolkitのコマンドをターミナルで実行していく。
- nvidia-driversのinstallコマンドも下の方にあるが、すでにインストール済みなのでスキップ。nvidia-smiの結果が表示される状態であれば、スキップで問題ない。
- パスを通す
export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
- 確認
nvcc --version
torchからのcuda呼び出し確認
cudaのインストールが完了したら、torchから呼び出せるか確認する。
uvでテスト用の仮想環境を作成
mkdir torchtest
cd torchtest
uv venv
uv pip install torch
uv pip install "numpy<2"
torchtestディレクトリにチェック用のスクリプトを作成。
import torch
# CUDA が利用可能か確認
if torch.cuda.is_available():
print("CUDA is available!")
print("Device Name:", torch.cuda.get_device_name(0))
else:
print("CUDA is not available.")
uvから実行。
uv run cudatest.py
CUDA is available!
Device Name: NVIDIA GeForce RTX 4060 Ti
dockerのインストール
Install Docker Engine on Ubuntuに従う。
インストール後のサービス起動コマンドsudo service docker start
はsudo systemctl start docker
でもよさげ。enableは自動でされているはず。
sudoなしでdockerを使えるようにする設定
dockerをインストールすると自動でdockerというユーザが追加されているはず。確認方法は以下。
grep docker /etc/group
追加されていれば、以下のコマンドを実行する。
sudo usermod -aG docker $USER
sshで操作している場合はexitして再度ログインすると、dockerコマンドがsudoなしで使えるはず。
dockerからGPUを使えるようにする
Installing the NVIDIA Container Toolkitに従う。
optinalの実験的な機能を使うための設定はやらなかった。
configuring dockerも実施する。
確認
以下のコマンドを実行
docker info | grep -i nvidia
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Runtimes: io.containerd.runc.v2 nvidia runc
最終行の表示により正しくインストールできていそうだが、warningも同時に出ていた。dockerからホストネットワークへのアクセスに関係する警告らしい。無くす方法も調べればありそうだったが、一旦無視する。
Running a Sample Workloadも試してみる。
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
コンテナ経由でnvidia-smiを実行していると思われる。nvidia-smiの出力が表示されればOK。
おわりに
他にもやりたくなることはありそうだが、一旦区切りにしておく。