西川和久の不定期コラム
モバイルCPUに好きなGeForceを載せたい!中華マザーでAIサーバーを組む【ハードウェア編】
2023年10月12日 06:14
これまで3種類のGPUボックスとデスクトップ向けGPUをThunderbolt 3経由でミニPCに接続してAI関連を楽しんでいた筆者であるが、重い腰を上げデスクトップマシン@AIサーバーを1台自作した。その顛末をハードウェア編、ソフトウェア編で2回に分けてご紹介したい。
GPUボックスをやめデスクトップマシンを1台新調
筆者はご存知のように、今年(2023年)3月末にThunderbolt 3接続のGPUボックスとRTX 4070 Ti(12GB)を購入、ミニPCに接続してAI関連を楽しんでいた。その後もGPUボックスありきでRTX 3090(24GB)やRTX 4090(24GB)をミニPCへ接続していたのは本連載でご紹介した通り。
こうなったのは、昔(第6世代Core頃)はタワータイプのPCを使っていたが、仕事の内容的にNUCタイプのミニPCで済むことが分かり入れ替え。大きいPCを処分してしまったのが最大の理由だ(その後、M1搭載Mac miniへ)。
そして去年(2022年)、1台だけCore i9-12900を使ったPCを組んでいるものの、ASRockの「DeskMeet」と言う小型で、GPUは内蔵可能だが2スロット長さ20cm、加えて電源が500Wと制限があり、使いたいGPUが収まらないから……という理由もあった。
実際Thunderbolt 3接続のGPUボックスを使ってみると、母艦側のPCも含めコンパクト、母艦側のPCだけ交換可能、使わない時はオフにできるので省電力……など良い面もある。欠点はバスの関係でパフォーマンスが落ちること。この点はゲームだとそうなのだが、AIではGPUの違い方が違うのでさほど落ちないと言う話もあり、事実そうだったので、気にしなかった部分でもある。
とは言え、市販のGPUボックスだと、電源容量と収納可能なGPUが限られ(最大2.5スロット/8ピン×2/600W前後)、GeForce RTX 4090など3スロット占有でPCI Express 8ピンが3つ以上必要なGPUを搭載できない。これを克服するため、電源ユニット別で箱なしのGPUボックスキットを購入したものの、動くには動くがUSB4接続時は母艦側のUSB4と相性があることが分かり、安心して使えないのが難点となる。
最後の手段としてGeForce RTX 4090入りのGPUボックスも試したが(ものはいいのだが)価格的に……と、どうにもうまく行かない状況に陥ってしまった。仮にこのGeForce RTX 4090入りGPUボックスを購入したとしても「ではGeForce RTX 5090や6090が出た時どうする?」的問題が相変わらず発生する。
いつ買えるかは不明だが(笑)、GeForce RTX 4090 Readyにするため重い腰を上げもう1台、AI用にデスクトップマシンを組むことに……と言うのが今回の前フリとなる。
購入したのはオール中華
普通にMini-ITXで箱だけハイエンドGPUの入る大きめのPCを組んでも面白くないので、編集担当に相談していたところ「これはどう?」と紹介されたのが、AliExpressで購入できるマザーボードだ。見るとモバイル用のCore i7-12650H(10コア(6P+4E)/16スレッド/最大4.7GHz)、M.2 NVMe SSD 512GB、DDR4 16GB付きMini-ITXが5万円ちょっと。仕様的には何の問題もなく、そこそこ安い。
ただSSD 512GBでメモリ16GBだと半端なので、追加で同じタイプのDDR4 16GBと1TBをチョイス。国内で別途購入しても良かったのだが、面倒なのとルックスを合わす的に……と言う意味合いもあった(特にメモリは同じでないと気持ち悪い)。これで合計6.5万円ほど。箱や電源はないものの、Core i7-12650H/32GB/512GB+1TBだとそれなりに安いのではないだろうか。
そう言えば、MINISFORUMもモバイル用Ryzen 7 7745HXを搭載したMini-ITXマザーボードを発表している。ただし製品自体は11月下旬出荷予定、価格は6万5,980円と、CPUスペックは若干上だが、メモリとストレージがない分、比較すると割高だ。
オール中華で大丈夫!?と言う話しもあるが、それこそ本連載で扱ってるミニPCは、全部該当。特に問題も出ていないため、あまり心配にならなかった。注文したのが9月27日。元々10月13日着予定だったが、連休前の金曜10月6日に到着した。
届いた時、全部マザーボードの箱に入っていたので梱包は非常にコンパクトだった。国内の配達が郵便だったのでちょっと驚いた次第。
パネル側のインターフェイスは、ミニD-sub15ピン、HDMI×2、DisplayPort、USB 3.2×2、USB 3.1×2、USB 2.0×2、2.5GbE×2、音声入出力。ミニD-sub15ピンは不要なのでType-C(USB4)が欲しかったところか。面白いのはCPUがモバイル用なので基板直付けで、上を金属製パネルで覆っていること。これによりデスクトップ向けのリファレンスのLGA1700クーラーが使用できるのだ。
BluetoothやWi-Fiは専用のM.2スロットとアンテナはあるが、モジュール自体はなく(オプション)技適的にもOK。
手持ちのパーツで流用したのは、1KWの電源ユニットと(とりあえず)GeForce RTX 4070 Ti、以前i9-12900マシンを組んだ時、箱の関係で入らなかったIntel純正のCPUクーラー。写真は、GPUボックスキットに装着したままだが、もちろん外して使っている。
とりあえず箱へ入れる前にバラックでの作動確認は下の写真通り。無事BIOSが起動し一安心と言ったところ。
1つ気がかりだったのは、3つあるM.2の順番。プライマリを512GBにしたいからだ。シルク印刷も何もないので勘でセットしたところ正解。何もない方がプライマリ、PCIe側がサード、裏がセカンドとなる。これですべてOKなので、いよいよ箱へ入れとなる。
組み立て
ケースに関してはもともと「MasterBox Q500L」を使うつもりだったが、同じ日にAmazonで注文したものの、在庫がなく、入荷しなかったのでキャンセル、たまたまAKIBA PC Hotline!で「PURE BASE 500」を見かけ、TSUKUMOの通販を見ると1万円を切っていたのでサクッと注文した。翌日には届いた。
予定していた「MasterBox Q500L」よりは大きいが、どのみち机の下へ置くため、高さはあまり重要でなかったりする。
写真からも分かるように、Mini-ITXマザーボードなので中はスカスカ。ちょっと笑ってしまうほど何もない。CPUクーラーも不釣り合いだが、余計な出費を抑えるため。蓋を閉めれば見えないのでOK。GPU用の8ピンケーブルは後のことを考え4本出してある。
この状態でUbuntu 22.04をインストール。iGPUでの作動となる。今AIマシンになっているWindows 11も操作はメインマシンからSSHなので、最終的にはGUIは不要だが、初期設定などはあった方が楽なのでデスクトップを起動。
またほかのUbuntuマシンでもそうなのだが、KernelはOSデフォルトではなく、最新版をインストールしている。この時点では6.5.6。ネットワーク系、ストレージ系も問題なく作動。いよいよ次はGPU=GeForce RTX 4070 Tiの装着だ。
GPUドライバでハマった話し
この時点でGPUボックスにはGeForce RTX 3090が入ったまま。組み立て中にトラブルがあって動かなくなると困るので、保険としてミニPC+GPUボックス(GeForce RTX 3090)は残してある。問題なければ、後日GeForce RTX 4070 Tiと入れ替える予定だ。
GPUのセット自体は大したことなく無事完了。これだけスカスカなので何をしても楽できる。装着するといきなりゲーミングPCっぽく見えるのは妙な気分だ(笑)
仕上げはGPUドライバのインストール。何パターンかあるのだが、最も簡単なsudo apt installで行なった。
手順は、まずUbuntuではデフォルトのGPUドライバが動いているのでそれをオフ、次にインストール可能なNVIDIAドライバ一覧を表示し、最新版をsudo apt installする。たったこれだけ。
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
※追記
sudo update-initramfs -u
lspci | grep -i nvidia
※使えるドライバ一覧表示
sudo apt install nvidia-driver-535
sudo reboot
nvidia-smi
※確認
が、うまく動かない。ほかの方法で試しても全く駄目。調べると、ドライバはKernelのバージョンに依存するらしく、上記で最新の6.5.6にしたのが仇となった。バージョン指定でドライバをビルドする方法もあるのだが、うまくmakeできず。
仕方ないので、OSデフォルトのKernel 6.2.0へ戻しことなきを得た。画面キャプチャにはNVIDIA Settingsやnvtop(sudo apt install nvtop)など、NVIDIA GPU固有の情報が出るている。
余談になるが、Ubuntu 22.04は、当初Kernelが5.15で12世代のE/Pコア未対応だったものの、その後、6.2.0に更新し対応となっている。
さて、GPUが速いのは当たり前として、モバイル版のCore i7-12650Hがどの程度なのか軽くベンチマークテストを行なった(sysbench使用)。結果は以下の通り。
Core i5-7300U | Core i7-12650H | Core i9-12900 | |
---|---|---|---|
Threads fairness events (avg/stddev) | 12304.0000/0.00 | 40460.0000/0.00 | 43292.0000/0.00 |
マルチスレッドが有効なアプリや高負荷時はまた違う話になるものの、CPU単体だとCore i9-12800と比較して10%ほどの差だ。これなら十分と言ったところだろう。
以上、前編はモバイル用Core i7-12650Hを搭載したMini-ITXマザーボードを箱に組み込み、GeForce RTX 4070 Tiが作動するところまでをご紹介した。後編はGPUをGeForce RTX 3090に入れ替え、AIサーバー(と言ってもデスクトップなしのSSH接続なのだが)の構築をご紹介したい。