こんにちは、Headlessな環境を構築してどうにかGPUアクセラレーションができないか戦ってる石川です。AzureのGPUが有効なUbuntu 18.04のVMにドライバを何度もインストールしたのでメモ代わりに記事にしておきます。
公式ドキュメントはあるのですがUbuntu 16.04しか方法が書いてありませんでした。どうして………
もくじ
- VMをデプロイする
- SSHでログインする
- リポジトリの設定
- ドライバインストール
1. VMをデプロイする
サイズの欄でN*シリーズを選択するとGPU付のVMがデプロイされます。
また月額が相当高額なものになるので稼働時間には注意しましょう。
2. SSHでログインする
適当なクライアントでSSHログインしましょう。僕はRLoginを使っています。
普通のUbuntuっぽいですね。GPUがついている以外は普通のUbuntuです。
GPUが刺さってるか確認してみます。
今回デプロイしたのはStandard_NV6なのでTesla M60が利用可能なことが確認できます。
3. リポジトリの設定
では早速ドライバを入れていきましょう。
リポジトリの設定からです。
# リポジトリ追加
sudo add-apt-repository ppa:graphics-drivers/ppa
# 適切なドライバを探してくれるソフトを追加
sudo apt install -y ubuntu-drivers-common
add-apt-repositoryした後長文が出ますがEnterを押下すると追加され apt update が行われます。
ubuntu-drivers-commonはハードウェアに対して適切なドライバを探してくれるユーティリティのようなもので必要ない場合はインストールする必要はありません。
4. ドライバのインストール
では準備も整ったのでドライバをインストールします。
# ドライバを探す
ubuntu-drivers devices
> == /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:07/VMBUS:01/47505500-0001-0000-3130-444531334632/pcib546:00/b546:00:00.0 ==
> modalias : pci:v000010DEd000013F2sv000010DEsd0000115Ebc03sc00i00
> vendor : NVIDIA Corporation
> model : GM204GL [Tesla M60]
> driver : nvidia-driver-410 - third-party free
> driver : nvidia-driver-440 - third-party free recommended
> driver : nvidia-driver-435 - third-party free
> driver : nvidia-driver-390 - third-party free
> driver : nvidia-driver-415 - third-party free
> driver : nvidia-driver-430 - third-party free
> driver : xserver-xorg-video-nouveau - distro free builtin
# recommendedがついてるものをインストール
sudo apt install -y nvidia-driver-440
以上でインストール完了です。
確認は再起動した後に nvidia-smi コマンドを叩きましょう。
画像のような結果が表示されればドライバのインストールは完了しています。
あとはGPUを使い倒してください。お疲れさまでした。
あ、必要な人はCUDAとか入れてくださいね。
余談
Ubuntu にはnouveauというビルトインのドライバが入っており、本来なら無効化する必要がありますがAzureでデプロイされるGPU付VMでは無効化された状態でデプロイされるのでNVIDIAのドライバをインストールするだけで利用できるようになっています。