2023-11-02
NVIDIAの最上位GPUカードGeForce RTX 3090を2枚搭載した、TSUKUMOのBTOパソコンWA9J-X211/XT
https://www.tsukumo.co.jp/bto/pc/special/multi-gpu/2021/WA9J-X211XT.html
に、Ubuntu Server 20.04.2 LTSを導入するメモ。※デフォルトではWindowsがインストールされています。自己責任でお願いします。
当方Debian派であるが、このTSUKUMOパソコンにDeep Learning Shogi(dlshogi)を導入実験してみたいと考えており、Ubuntuとの相性が良いということで選択。
ただ、NVIDIAドライバをLinuxに入れると強制的にX Server GUI環境も入ってそれとともに動作する。ならWindowsでいいんじゃない?といったところだが、それでもリモートで使い勝手が良いのはLinuxであるので。
1、OSイメージダウンロード&USBメモリへ焼きこみ
https://jp.ubuntu.com/download
から、Ubuntu Server 20.04.2 LTSのISOイメージをダウンロード。TSUKUMO-PCはIntel Core i9であるので、amd64イメージ。
ubuntu-20.04.2-live-server-amd64.iso
適当なUSBメモリーを用意し、Win32 Disk Imagerを使用して上記ISOイメージをWriteして、インストールUSBディスクを作成。
2、BIOSセットアップに入りUSBからインストーラ起動
USBメモリを刺して、パワーボタンを押して起動したら、DELキーを叩いてBIOSセットアップを起動する。
Advanced Modeを選択→Boot→Boot Option Prioritiesで、Boot Option #1にUSBディスクを選択し、他のBoot Option(Windows Manager他)はすべてDisabledにする。こうするとUSB以外で勝手にBootすることはない。
Save Changes& Resetで、保存して再起動すると、UbuntuインストーラがUSBから起動するはず。
3、基礎インストール
Install Ubuntu Server
Languageは日本語は無い模様。Englishを選択。
キーボードレイアウトは「Japanese」
デフォルトはDHCP。固定IPを指定するなら、eno1を選択しEdit IPv4→Manual→で、
Subnet: 192.168.1.0/24
Address: 192.168.1.99
Gateway: 192.168.1.1
Name servers: 192.168.1.1
などとする。
パッケージミラーサーバーはJPデフォルト、プロキシサーバーはあれば入力。
Continue without updatingで、Storage Configrationは、
Use an entire diskですべてのディスクを使用、Set up this disk as an LVM groupはスペースキーでチェックを外す。
FILE SYSTEM SUMMARYは全ディスクの/ext4と、ブート領域efi 512Mのみのはずである。とりあえずシンプルなこれでよい。Done
Profile setupは自分のユーザ名とマシン名を入力。例
Your name: hogeuser
Your server s name: dual-rtx3090
Pick a username: hogeuser
と、パスワード。
Install OpenSSH serverはONにしておく。他の追加パッケージは後からでよいので選択せずDone、インストールが始まり、Install completeになったら、[Reboot Now]で再起動。
4、BIOSセットアップに入りubuntu HDDから起動に変更
再起動が始まったらまたすばやくDELキーを叩いてBIOSセットアップを起動する。
Advanced Modeを選択→Boot→Boot Option Prioritiesで、Boot Option #1に今度はubuntu HDDを選択し、他のBoot Option(USBメモリubuntuインストーラ他)はすべてDisabledにする。これで今度はHDD ubuntuのみから起動になる。
5、基礎セットアップ
ログインプロンプトから、さきに設定したユーザ名でログインし、sudo -sでrootになって作業開始。
sudo -s
/etcバックアップ、apt update, upgrade, reboot
cd / cp -Rp etc etc.default apt update apt -y upgrade apt -y dist-upgrade apt -y full-upgrade apt autoremove reboot
6、NVIDIA GeForce RTX 3090 2枚のドライバインストール
いよいよ主役のGPUを認識させる。これまで静かだったPCが一気に轟音になる。
add-apt-repository ppa:graphics-drivers/ppa ENTERで確定 apt update apt install ubuntu-drivers-common ubuntu-drivers devices #nvidia-driver-470がrecommend、インストール apt install nvidia-driver-470 reboot
ドライバのインストール終了後rebootする前に、実マシンにモニタ・キーボード・マウスをつなげておく。すでに X Server がインストールされてしまっているので、マシン起動後WindowsのようなGUIが立ち上がる。そこでGUIにログインし、アイドルサスペンドをオフにしないと、サーバー利用しているにかかわらず一定時間後勝手にスリープしてつなげられなくなってしまう。
7、GUIデスクトップ(X Server)での設定
マシンが立ち上がって実マシンでGUIにログインしたら、右上端バーから「Settings」を開く。
・Notifications
すべてOffにする。Lock Screen Notifications, Applicationsすべて。
・Applications
NotificationsをすべてOffにする。
・Privacy
Connectivity→Connectivity CheckingをOffにする。
File Histofy & Trash→File HistoryをOffにする。
Screen Lockが最重要。すべてをOffにする。
Blank Screen Delay→15 minutes、Automatic Screen Lock→Off、Lock Screen on Suspend→Off、Show Notifications on Lock Screen→Off。
Diagonostics→Send error→Never。
・Power
Blank Screen→15 minutes, Automatic Suspend→Off。
・Date & Time
Time ZoneがUTCになってしまっているので、右上Unlockで解除し、Time Zoneを選び、地図でTokyo, Japanを選んで変更する。
ここまでの設定で、勝手にスリープすることは無くなったので、サーバーとして運用継続可能。
左上Activities→タイルをクリック→NVIDIA X Server Settingsを選択して開くと、GPU2枚がGPU 0, 1として無事認識されているはずである。
確認したら、右上バー→Log outでGUIからログアウトする。
8、コンソールでGPUの電力確認
ここからはCUIに戻る。SSHでコンソール接続する。
nvidia-smi Wed Nov 3 15:57:21 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 470.82.00 Driver Version: 470.82.00 CUDA Version: 11.4 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:17:00.0 Off | N/A | | 46% 22C P8 12W / 350W | 69MiB / 24268MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ | 1 NVIDIA GeForce ... Off | 00000000:65:00.0 Off | N/A | | 45% 21C P8 18W / 350W | 5MiB / 24268MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1204 G /usr/lib/xorg/Xorg 55MiB | | 0 N/A N/A 1306 G /usr/bin/gnome-shell 12MiB | | 1 N/A N/A 1204 G /usr/lib/xorg/Xorg 4MiB | +-----------------------------------------------------------------------------+
無事認識されている。続けて、消費電力を見るコマンドをインストールして状態を見てみる。
sudo -s apt install powertop powertop PowerTOP v2.11 Overview Idle stats Frequency stats Device stats Tunables WakeUp Summary: 101.0 wakeups/second, 0.0 GPU ops/seconds, 0.0 VFS ops/sec and 3.4% CPU use Power est. Usage Events/s Category Description 202 mW 255.7 μs/s 51.0 Timer tick_sched_timer 49.6 mW 126.1 μs/s 12.5 Process [PID 11] [rcu_sched] 43.2 mW 25.2 ms/s 1.0 Process [PID 4237] powertop 41.9 mW 95.0 μs/s 10.6 kWork psi_avgs_work 16.0 mW 533.0 μs/s 3.8 Interrupt [7] sched(softirq) 11.6 mW 133.3 μs/s 2.9 Process [PID 1231] [irq/90-nvidia] 11.6 mW 129.0 μs/s 2.9 Process [PID 1245] [irq/91-nvidia] 11.5 mW 45.5 μs/s 2.9 Interrupt [3] net_rx(softirq)
プロセス名から察するに、90-nvidia, 91-nvidiaが待機状態でそれぞれ11.6マイクロワットほど使っているようだ。
ベースインストールとGPUの認識まではできたので、次にcudnn、Python関係をセットアップしていく。
TSUKUMOのマルチGPUパソコンWA9J-X211/XTにUbuntu Server 20.04.2 LTSを導入する【2】
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
Windowsのデスクトップ画面をそのまま配信するための下準備
WindowsでGPUの状態を確認するには(ASUS系監視ソフトの自動起動を停止する)
CORESERVER v1プランからさくらインターネットスタンダートプランへ引っ越しメモ
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
Windows版Google Driveが使用中と言われアンインストールできない場合
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
【Apache】サーバーに同時接続可能なクライアント数を調整する
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【Linux】iconv/libiconvをソースコードからインストール
Ubuntu Server 21.10でイーサリアムブロックチェーン【その5】