毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
最近、ChatGPTによりLLMとか大流行りですが、サーバーでGPUを使うという事も随分と一般的になってきました。UbuntuサーバーにNVIDIAドライバーを入れる方法も沢山記事があったりしますが、どれも微妙に違っていて何が最適なのかよく分からなかったので、NVIDIA社のオススメの方法を使ってインストールしてみたという記事になります。
あくまでもUbuntuをサーバーとして利用してGPU(RTX)をサーバーとして利用する場合のインストール方法になります。なので、いきなりcudaとかインストールしてしまいます。ご注意ください。
1. 前提
1-1. 参照資料
以下のURLの資料を元にインストールします。
NVIDIAインストール
NVIDIA Driver Installation Quickstart Guide :: NVIDIA Tesla Documentation
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
1-2. OS
以下のような環境にインストールします。
項目 | 詳細 |
---|---|
OS | Ubuntu 22.04.3 LTS |
OSの状態 | インストール直後の状態 |
CPU | AMD Ryzen 5 2400G with Radeon Vega Graphics |
GPU | NVIDIA GeForce RTX 2070 |
2. 「1.1. Pre-Installation Requirements」を実行する
NVIDIA Driver Installation Quickstart Guideの1.1はインストール下準備です。
2.1. Verify You Have a CUDA-Capable GPU
CUDAが利用できるGPUであるかどうか確認します。
lspci | grep -i nvidia
こんな感じの結果が表示されます
01:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU106 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU106 USB Type-C UCSI Controller (rev a1)
2.2. Verify You Have a Supported Version of Linux
サポートされているLinuxディストリビューションかどうか確認します
uname -m && cat /etc/*release
こんな感じの結果が出力されます。
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
<<<後略>>>
2.3. Verify the System Has gcc Installed
gccがインストールされているかどうか確認します
gcc --version
こんな感じの結果が出力されます
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2.4. Verify the System has the Correct Kernel Headers and Development Packages Installed
Kernel Headerパッケージが入っているかどうかという話ですが、パッケージでインストールする場合には自動的にインストールされるはずなので、無視して構いません。runfileでインストールする場合はインストールしておきましょう。
2.5. Install MLNX_OFED
GPUDirectStorage (GDS)を使わない場合は無視して構いません。
今回は使わないのでスキップします。
2.6. Choose an Installation Method
Linuxディストリビューションのパッケージでインストールすることをお勧めしますよ、と書いているだけなのでスキップします。
2.7. Download the NVIDIA CUDA Toolkit
NVIDIA CUDA Toolkitをダウンロードします。
ダウンロードするURLは以下です。
今回は、OS-->「Linux」、Arch-->「x86_64」、Dist-->「Ubuntu」、Version-->「22.04」、Installer Type-->「deb(network)」を選択しました。
出力されたインストラクションは以下の通りです。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda
上記を実行します。
cuda-driverのみインストールしたい場合は、
sudo apt-get -y install cuda-drivers
としてください。
3. インストールの確認
3-1. CUDAインストール確認
リブートする前に何がインストールされたかcuda関連パッケージを確認します
以下のコマンドでインストールされたcuda関連パッケージを確認できます。
apt list --installed cuda\*
必要なCUDA DriverやToolkitがインストールされていること確認しましょう
3-2. NVIDIAドライバーインストール確認
以下のコマンドでインストールされたNVIDIAドライバーを確認できます。
sudo apt list --installed nvidia\*
4. 再起動
リブートします
sudo reboot
5. 再起動後の確認
5-1. NVIDIAドライバーの確認
ディストリビューションのデフォルトnouveauドライバーが無効になっているか確認します。
lsmod | grep nouveau
何も検索結果が出力されなければOKです。
あちこちで書かれているNVIDIAドライバーインストール記事では、nouveauドライバーを無効にすると書かれていますが、本記事の方法では無効にする必要はありません。自動的に無効になります。
NVIDIAドライバーに切り替わっているか確認します。
lsmod | grep nvidia
以下のように出力されたら切り替わっています
nvidia_uvm 1761280 0
nvidia_drm 90112 3
nvidia_modeset 1314816 6 nvidia_drm
nvidia 56619008 210 nvidia_uvm,nvidia_modeset
drm_kms_helper 249856 1 nvidia_drm
drm 696320 7 drm_kms_helper,nvidia,nvidia_drm
i2c_nvidia_gpu 16384 0
i2c_ccgx_ucsi 16384 1 i2c_nvidia_gpu
video 73728 2 asus_wmi,nvidia_modeset
5-2. NVIDIA-SMIの実行
nvidia-smi
6. まとめ
NVIDIAドライバーインストールは様々な記事がインターネットには溢れていて、情報が錯綜していますが、恐らく上記の手法が最速最短の方法だと筆者は思っております。もっと簡単な方法がありましたら、コメントにお寄せいただくと幸いです。
7. 謝辞
最も簡単にNVIDIAドライバーをインストールする方法をお教えいただいたNVIDIA佐々木様に感謝いたします。