Open20

ディープラーニング用の自作PC 2023年末

ArkBigArkBig

生成系AIの勉強したい。色々試したいのでローカルGPUが良いし、数年おきにアップグレードしていきたい。
という口実もあるし、自作PCを組み立てていきたいと思います。HDD、SATA SSD時代しか知らないので色々調べていこう。

今の目安
・予算は20万円以下 → 無理でした。40万円コースです。
・静音を目指すので水冷 → 調べるの疲れたので、大型ファンの空冷で一旦組み立て
・GPUはAIメインなのでNVIDIAのVRAMが多いやつ → 計算能力も考慮して今は12GBで妥協(ただし3枚刺しも視野にマザーボード選定)
・CPUはIntelの方が開発には良いっぽいけど、AMD Threadripperが気になるので調べる → Threadripperはお高いので普通のRyzenで妥協
・メインメモリは64GB → コア数少ないので32GBでいいかも
・ディスクドライブはNVMe

組み立てたPCでStable DiffusionとLLMをローカルで動かせたので、記事にまとめました。

マルチGPUで生成AIを始めてみます

よかったらどうぞ。

ArkBigArkBig

最初はGPUの比較。
Tensorコアの新しいRTX 40シリーズがいいな。
RTX4090は高いし消費電力高いので厳しい、RTX4080が基準かな。
AI学習がメインなので2枚刺しでVRAM倍増が良さそうということで、RTX4070 Ti, RTX4070, RTX 4060 Ti が候補か。
RTX 4060 Ti のメモリ容量が多いのは魅力だけど、メモリタイプがXじゃないGDDR6なのが気になる。
今はRTX 4060 Laptop GPUのノートPCを持ってて、シンプルなニューラルネットワークならデータセンターのA100と同じくらいの学習速度な気がする。
この後業務用のGPUも調べてみよう。

項目 RTX 40 シリーズ RTX 30 シリーズ
アーキテクチャ Ada Lovelace NVIDIA Ampere
ストリーミング マルチプロセッサ FP32 x2 FP32 x2
レイ トレーシング コア 第 3 世代 第 2 世代
Tensor コア (AI) 第 4 世代 第 3 世代
PCIe 第 4 世代 第 4 世代
NVIDIA Encoder (NVENC) 第 8 世代 第 7 世代
NVIDIA Decoder (NVDEC) 第 5 世代 第 5 世代
AV1 エンコード 対応 -
AV1 デコード 対応 対応
CUDA 対応 8.9 8.6
DX12 Ultimate 対応 対応
項目 GeForce RTX 4090 GeForce RTX 4080 GeForce RTX 4070 Ti GeForce RTX 4070 GeForce RTX 4060 Ti GeForce RTX 4060
価格 2023-10-24 [1] 279,800 円 178,000 円 120,455 円 89,800 円 88,510 円 49,800 円
CUDAコア 16384 9728 7680 5888 4352 3072
CUDA FLOPS [2] 82.6 TFLOPS 48.8 TFLOPS 40.1 TFLOPS 29.2 TFLOPS 22.1 TFLOPS 15.1 TFLOPS
Tensorコア 512 304 240 184 136 96
Tensor FLOPS [3] 330.3 TFLOPS 195.3 TFLOPS 160.4 TFLOPS 116.8 TFLOPS 88.4 TFLOPS 60.5 TFLOPS
ブースト クロック 2.52 GHz 2.51 GHz 2.61 GHz 2.48 GHz 2.54 GHz 2.46 GHz
ベース クロック 2.23 GHz 2.21 GHz 2.31 GHz 1.92 GHz 2.31 GHz 1.83 GHz
メモリ 24 GB 16 GB 12 GB 12 GB 16 GB [4] 8 GB
メモリ タイプ GDDR6X GDDR6X GDDR6X GDDR6X GDDR6 GDDR6
メモリ インターフェイス幅 384 bit 256 bit 192 bit 192 bit 128 bit 128 bit
NVENC 第 8 世代 x2 第 8 世代 x2 第 8 世代 x2 第 8 世代 x1 第 8 世代 x1 第 8 世代 x1
NVDEC 第 5 世代 第 5 世代 第 5 世代 第 5 世代 第 5 世代 第 5 世代
スロット 3 スロット 3 スロット メーカーによって異なる 2 スロット 2 スロット 2 スロット
最大 GPU 温度 90 ℃ 90 ℃ 90 ℃ 90 ℃ 90 ℃ 90 ℃
アイドル電力 19 W 13 W 12 W 10 W 7 W 7 W
ビデオ再生電力 25 W 21 W 20 W 16 W 13 W 11 W
平均消費電力 [5] 315 W 251 W 226 W 186 W 140 W 110 W
総グラフィックス パワー 450 W 320 W 285 W 200 W 165 W [6] 115 W
システム要件 電力 [7] 850 W 750 W 700 W 650 W 550 W 550 W

参考:
比較 GeForce グラフィックス カード
西川善司の3DGE:GeForce RTX 40完全解説
「GeForce RTX 4060 Ti」テスト

脚注
  1. 価格.com GIGABYTE RTX40シリーズ 一番上にあったメーカーだから選んだだけ。価格は参考程度に。 ↩︎

  2. Cudaコア×ブーストクロック×2(積和)=CUDA FLOPS ↩︎

  3. Tensorコア×128並列?×ブーストクロック×2(積和)=Tensor FLOPS ↩︎

  4. GeForce RTX 4060 Ti は8 GBモデルもあるので注意 ↩︎

  5. 22 ゲームで 4K、1440p、1080p で平均消費電力を測定 ↩︎

  6. GeForce RTX 4060 Ti は130 Wモデルもある(VRAM 8GBモデル?) ↩︎

  7. 最小要件は Ryzen 9 5900X プロセッサ搭載の PC に基づいています。電力要件はシステム構成によって異なる場合があります。 ↩︎

ArkBigArkBig

AI学習じゃないけどStableDiffusionのいろんなGPUを比較しているサイトがあってありがたい。【Stable Diffusion】AIイラストにおすすめなグラボをガチで検証【GPU別の生成速度】
ほんの一部抜粋。

RTX 4090が別格。
RTX 4080とRTX 4070 Tiは相対的には近い性能。
RTX 4070とRTX 4060 Tiはそれなりに差がある。

RTX 4060 TiはRTX 4080の倍の時間がかかるので、GPU 2枚刺しでもRTX 4080の方が速いだろう。
RTX 4070 ならGPU 2枚刺しでRTX 4080を超えるかもしれない。

RTX 4090 RTX 4080 RTX 4070 Ti RTX 4070 RTX 4060 Ti
512x512 10.5 s 15.4 s 16.9 s 20.1 s 26.5 s
512x768 13.7 s 17.9 s 20.6 s 25.3 s 33.1 s
512x768 21.2 s 26.7 s 30.4 s 40.4 s 50.8 s
1024x1536 40.0 s 58.3 s 70.1 s 89.1 s 125.7 s
ArkBigArkBig

グラボはRTX 4070の2枚刺しかな。もう予算オーバーしそうだな。でも2枚あったほうがマルチGPU環境の勉強になるし仕方ない。

ArkBigArkBig

次はCPU。対応するソケットの寿命を調べてみた。

Intel は次のMeteor Lakeで新しいソケットに移行するらしい。(https://www.nichepcgamer.com/archives/intel-meteor-lake-lga1851-confirm.html)

AMDは最新のZen4で新しいソケットに移行して、少なくとも2025年までは使うらしい。(https://g-pc.info/archives/26950/)

このタイミング的にはZen4か?気にしてたSIMDもAVX512に対応してるみたい(ただし演算は256bit)。(https://www.4gamer.net/games/612/G061273/20220925006/)

ArkBigArkBig

Zen4 のRyzen 7000シリーズの調査。
グラフィックボードはAI学習に全振りしたいので、内蔵GPUを普段使いしたいから末尾Fのモデルは除外。
末尾Xが高性能版で、末尾X3Dがゲーム向けの高性能版。X3DはL3キャッシュサイズを増やしているけど、基本クロックやTDPが低い。メモリ効率がいいプログラムならX3Dは速いけど、力技のプログラムならXの方が速いのか?個人的にはTDPが低いのは魅力的だし、メモリ効率がいいプログラム書くと効率がいいならX3Dがいいかも。ただ、価格の差は気になる。

モデル Ryzen 9 7950X3D Ryzen 9 7950X Ryzen 9 7900X3D Ryzen 9 7900X Ryzen 9 7900 Ryzen 7 7800X3D Ryzen 7 7700X Ryzen 7 7700 Ryzen 5 7600X Ryzen 5 7600 Ryzen 5 7500F
価格 2023-10-25[1] 105,980円 84,750円 71,796円 53,747円 60,980円 55,158円 41,287円 40,899円 32,480円 27,480円 -
グラフィックス・モデル Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics Radeon Graphics 外付けグラフィックス・カードが必要
CPUコア数 16 16 12 12 12 8 8 8 6 6 6
スレッド数 32 32 24 24 24 16 16 16 12 12 12
最大ブースト・クロック 5.7GHz 5.7GHz 5.6GHz 5.6GHz 5.4GHz 5.0GHz 5.4GHz 5.3GHz 5.3GHz 5.1GHz 5.0GHz
基本クロック 4.2GHz 4.5GHz 4.4GHz 4.7GHz 3.7GHz 4.2GHz 4.5GHz 3.8GHz 4.7GHz 3.8GHz 3.7GHz
サーマルソリューション Not Included Not included Not included Not included AMD Wraith Prism Not included AMD Wraith Prism AMD Wraith Prism AMD Wraith Stealth AMD Wraith Stealth AMD Warith Stealth
GRAPHICS CORE COUNT 2 2 2 2 2 2 2 2 2 2 -
DEFAULT TDP 120W 170W 120W 170W 65W 120W 105W 65W 105W 65W 65W

Ryzen 7000 PCIeレーン数を見ると、PCIe 4.0x16のGPUは1枚しか刺さらないのかい?この辺まだよくわかってない。

参考: AMD Ryzen デスクトップ・プロセッサー

脚注
  1. 価格.com Ryzen 7000シリーズ ↩︎

ArkBigArkBig

PCIeについて勉強中。
GeForce RTX 4090はPCIe Gen4 x8相当の帯域幅を利用 らしいのでPCIe4x8でマルチGPU組んでも大丈夫なのかな?ゲームとAIはまた違うかもしれないけど、結局データ転送時間より計算時間のほうが割合大きいやろうから大丈夫と思っとこう。

またCPUのレーン数とマザーボードのレーン数は合計して使えるのか。ただPCIeソケットによってCPUと繋がるか、チップセットに繋がるかは決まってると。そしてCPU直結の方が若干性能がいい。これはマルチGPUならどこに挿すべきかベンチマークで比較したいな。

ArkBigArkBig

次はケースのサイズを検討。
以前に仕事で使ってたデスクトップがうるさかったので、エアフローを考えた袖机のような木箱を作りました。今回も出来ればその中にPCを入れたいのでサイズの制限があります。

PCケースの種類

奥行き 高さ Mini-ITX Micro-ATX ATX
キューブ型 250〜500mm 250〜500mm 250〜500mm OK -
スリム型 75〜145mm 220〜400mm 200〜400mm OK -
ミニタワー型 150〜200mm 350〜450mm 350〜450mm OK -
ミドルタワー型 200〜250mm 400〜550mm 400〜550mm OK OK OK
フルタワー型 250〜300mm 500〜650mm 500〜650mm OK OK OK

前回使ってたのが、W220×D500×H470mmでこれに合わせた木箱なので、W220xD700xH560以下がいい。フルタワー型かと思ったけど、ミドルタワー型だったんだな。木箱の幅半分は防音空間を兼ねたただの空気の通り道なのでそこを取っ払えばフルタワー型も入れられるかも。

結局グラボの位置はマザーボードで決まるのでATXが入る十分な大きさのミドルタワー型のケースにしよう。人気があるサイズの方がパーツ選びで苦労しないでしょう。きっと。

ArkBigArkBig

メモリの検討。

Zen4のメモリは2チャンネルで使うと効率が良くて、4チャンネルだとメモリクロックが下がるようです。
スイートスポットはDDR5-6000らしい。

容量は個人的にスレッド数x1GiBは欲しい。VC++でコンパイルするときにスレッド数x2GiBないと困ってたけど、個人で使う分にはそんなに大きなコードをビルドすることはないかな。

ということでDDR5-6000 16GiBx2を買おう。

ArkBigArkBig

マザーボードの検討。

CPUはZen4 Ryzen 7000シリーズにするので、AM5ソケットに対応したマザーボードを選ぶ。
チップセットで性能が変わるので仕様を確認する。
上から、X670E,X670,B650E,B650,A620の5種類がある。A620はグラフィックスが1つしか使えないので今回は除外。

基本的にはPCIe5.0があるのはE付きの方。でもRTX 40シリーズは未対応なのでどちらでも良い。
拡張性もそんなに必要ないので、PCIスロットってきにマルチGPUに対応できるかで選ぼうと思う。

PCIeスロットの配置は説明書見ないとわからなさそうなのでとりあえずGPU2枚を繋げる「CrossFire」対応と書かれたマザーボードから選ぶことにします。
価格.comより、AM5対応のATXマザーボードでCrossFire対応は11製品。

本当の位置はわからないですが、仕様表に書いてるソケット位置を1),2),3),4)と書きます。2スロットサイズのGPUを1)につけると、2)が使えなくなりそうですが、製品によっては1)をGPU用として離して配置しているような気がします。番号抜けがあるものはM.2ストレージスロットだと思います。

CPU直結PCIe チップセット経由PCIe
PRO B650-P WIFI ¥25,850 1) PCIe 4.0 x16 2) PCIe 3.0 x1
3) PCIe 4.0 x4
4) PCIe 3.0 x1
B650 Pro RS ¥32,370 1) PCIe 4.0 x16
3) PCIe 3.0 x4
2) PCIe 4.0 x1
B650E PG Riptide WiFi ¥36,707 1) PCIe 4.0 x16
3) PCIe 4.0 x4
2) PCIe 4.0 x1
B650 LiveMixer ¥39,980 1) PCIe 4.0 x16
2) PCIe 4.0 x4
3) PCIe 4.0 x4
X670E PG Lightning ¥43,980 1) PCIe 5.0 x16
3) PCIe 4.0 x4
2) PCIe 4.0 x1
4) PCIe 4.0 x1
B650E Steel Legend WiFi ¥44,800 1) PCIe 5.0 x16
3) PCIe 3.0 x4
-
MPG B650 CARBON WIFI ¥44,800 1) PCIe 4.0 x16[1]
2) PCIe 4.0 x4
3) PCIe 3.0 x1
X670 AORUS ELITE AX [Rev.1.0] ¥45,299 1) PCIe 4.0 x16 2) PCIe 3.0 x2
4) PCIe 4.0 x4
X670E Steel Legend ¥49,800 1) PCIe 5.0 x16
3) PCIe 3.0 x4
2) PCIe 3.0 x1
B650 AERO G [Rev.1.0] ¥50,490 1) PCIe 4.0 x16 2?) PCIe 4.0 x4
3?) PCIe 3.0 x1
MPG X670E CARBON WIFI ¥74,025 1) PCIe 5.0 x16
2) PCIe 5.0 x8
3) PCIe 4.0 x4

GPU2枚の組み合わせは以下のどれかから選ぶことになる。

  • CPU: PCIe 5.0 x16 + CPU: PCIe 5.0 x8
    • ただし、スロット1)2)と連番なので気になるが、製品画像を見ると2スロット分離れてそうなので大丈夫か?
  • CPU: PCIe 5.0 x16 + CPU: PCIe 4.0 x4
  • CPU: PCIe 4.0 x16 + CPU: PCIe 4.0 x4
  • CPU: PCIe 4.0 x16 + Chipset: PCIe 4.0 x4

一番速そうなのはMPG X670E CARBON WIFIだけど一番高い¥74,025なのでちょっと。。。
B650 LiveMixer ¥39,980はGPU3枚刺しもいけそうな雰囲気ですが、かなり派手ですね。(装飾に無駄な費用が乗ってそうと気になっちゃう)
一番安いPRO B650-P WIFI ¥25,850はビジネス向けとあるので安定してそうな雰囲気を感じるけど、RGB LEDヘッダーという見た目だけの機能があるのはどういう了見だろう。ビジネスショーで展示する時の見栄えようかな?

脚注
  1. M.2スロットが4つあり、うち2つは1)PCIeと共有なので、同時に繋ぐとx16ではなくx8になる。 ↩︎

ArkBigArkBig

SSDの検討。

速いのがいいよねということで、NVMe接続のSSDがいいです。
容量は2TB欲しい。というのも学習用データが非常に大きく500GB以上あるから。圧縮すればもっと少ないだろうけど余裕を持って2TBにする。

で、価格.comでマザーボードを見てるとM.2サイズという項目があるじゃないですか。なんですかこれは?

【かんたん解説】M.2 SSDとは?NVMeとは?
まず、NVMeとは接続方式でSATA接続と比べるもの。M.2とはSSDのインターフェース規格。

そしてサイズの4桁の数字は2桁ずつに分けて、幅と長さを表しているようです。(長さが3桁の5桁サイズのもある)
type 2280が基本のサイズらしいので、これに対応したマザーボードを選ぼう。

PS5の換装用SSDを基準に考えると、W25xL110xH11.25(基盤上8.0mm、基板下2.45mm)が最大なので、これより小さいサイズのものを選んでおこう。まだPS5持ってないけど、いつか換装するかもしれないし。
そして速度もPS5換装用のシーケンシャル読み込み5.5GB/sを目安に探してみます。

いっぱいありすぎてわからない。PS5換装用のおすすめから選ぼう。出来ればランダムアクセスに強い物がいいな。

ArkBigArkBig

電源の検討。

ドスパラの電源容量計算機で容量の目安がわかります。

  • Ryzen 7 7800X3D
  • GeForce RTX 4070 x2

で600W程度が目安。

電源は50%の負荷の時が一番効率がいいらしいので、この2倍をおすすめされます。でも実際は常にぶん回すわけではないので、1.5倍くらいでいいんじゃないかと思ってます。
ということで900W〜1000Wくらいの電源を選びます。

あと電力変換効率の目安として、80 PLUS認証というのがあります。今はGOLDの上にもPLATINUMができて、さらに最上位にTITANIUMがあるようです。プラチナまでは分かるけど、チタニウムってすごい金属なのか?とりあえずGOLD以上を選びたいと思います。

そして肝心の電源のケーブルは直結型とプラグイン型があります。昔は直結型で余ったケーブルが邪魔だったけど、最近のPCケースは電源用スペースがあって分離できることも多いらしい。
必要な電源は

  • GeForce RTX 4070 x2
    • 2 x 2 x PCIe 8pin or 2 x 300W以上の PCIe Gen 5
  • B650 LiveMixer
    • 1 x 24 ピン ATX 電源 コネクタ (高密度電源コネクタ)
    • 2 x 8 ピン 12V 電源 コネクタ (高密度電源コネクタ)

でしょうか。

できるだけ大型ファンの静音な物がいいですね。

ArkBigArkBig

購入は楽天市場でショップ買いまわりしました。最安ではないですが、ポイントを入れるとほぼ最安だと思います。
合計 383,330円でした。(ショップ買いまわりのポイント割引が入ってないかもしれないのと、当選確率1/2のポイントバックキャンペーンも3回引けるのでもう少しポイント割引されるはず)
購入前の予定では¥404,847-だったけど、スペックアップもありでもBlack Fridayセールもあって安くなったと思います。(楽天ポイント分も含めてだけど)

パーツ 製品 価格 ポイント 小計 納期 お店
CPU Ryzen 9 7900X BOX ¥59,980 ¥-4,414 ¥55,566 通常1-3日で出荷 Joshin web 家電とPCの大型専門店(楽天)
CPUクーラー NH-D15S ¥12,980 ¥-718 ¥12,262 2~4日以内に発送 ツクモ 楽天市場店
GPU MSI GeForce RTX 4070 VENTUS 2X E 12G OC ¥86,800 ¥-6,409 ¥80,391 1~2日で出荷予定 XPRICE楽天市場店
GPU Palit GeForce RTX 4070 Dual 12GB ¥83,820 ¥-6,172 ¥77,648 2~3営業日で出荷 ドスパラ楽天市場店
メモリ G.SKILL F5-6000J3040G32GX2-TZ5NR Trident Z5 Neo RGB DDR5-6000 CL30-40-40-96 1.40V 64GB (2x32GB) AMD EXPO ¥38,677 ¥-2,141 ¥36,536 約3日以内に発送予定 パソコン工房 楽天市場店
M.2 SSD WD BLACK SN850X NVMe PCIe Gen4 SSD Heatsink付 2TB ¥22,693 ¥-1,256 ¥21,437 1-3営業日以内に発送予定 OCNオンラインショップ 楽天市場店
マザーボード ASRock B650 LiveMixer ¥42,468 ¥-3,135 ¥39,333 5営業日以内に出荷予定 XPRICE楽天市場店
電源 Signature 1000 Platinum ¥20,980 ¥-1,161 ¥19,819 2~4日以内に発送 ツクモ 楽天市場店
PCケース Cooler Master ミドルタワーPCケース HAF 500 ブラック ¥20,520 ¥-765 ¥19,755 あす楽 e-zoa 楽天市場 SHOP
OS マイクロソフト Windows 11 Pro 日本語版 ¥23,860 ¥-3,277 ¥20,583 3~7営業日で出荷 ヤマダ電機 楽天市場店
ケースファン Novonest 200mmPCケースファン大型 3PINコネクタ 多彩LEDリング搭載 静音タイプ 25mm厚 【P200CF】 ¥1,480 ¥-231 ¥1,249 2日 Amazon
電源スイッチ COOIDEA デスクトップコンピュータ 電源スイッチ、PC電源ボタン外部、リモートブート用外部延長ケーブルPCマザーボード電源オンオフスイッチ-2.5M マグネット付き ¥1,599 ¥1,599 2日 Amazon
USBメモリ KIOXIAUSBフラッシュメモリ 16GB USB2.0 日本製 国内サポート正規品 KLU202A016GW ¥580 ¥-58 ¥522 2日 Amazon
合計 ¥416,437 ¥-29,737 ¥386,700

選定理由は

  • CPU AMD Ryzen 7 7800X3D
    • X3Dは8コア分のキャッシュが追加されてるらしいので、ちょうどそのサイズの一番安いのにしておきます。
    • もっとハイパースレッド数の多いのにしたいけど、今回はGPUメインなので将来買い替えということにする。
  • CPU AMD Ryzen 9 7900X BOX
    • 7800X3Dと値段が大して変わらなかったので、コア数の多い方にしました。
  • CPUクーラー
    • 静音で有名なNoctuaの大型クーラーのにしました。ファン2つのもありますが、1つでも十分冷えるらしいのできっと静かな1つのにしました。
  • GPU NVIDIA GeForce RTX 4070
    • RTX 4060 Tiのメモリ16GBは魅力だけど、計算性能が悲しいので却下。
    • RTX 4070 Tiはバランスいいけど高い。今度メモリ16GBのSUPERが出てくるかもしれないのでRTX 4070で我慢。
    • 全く同じもの2枚の方が安定してるかもしれないけど、せっかくなので比較できるように別メーカーにしました。
  • メモリ
    • 32GB予定でしたが、せっかくなので64GBにしました。
    • スペックはよくわからないけど、とりあえずDDR5-6000のにしました。CLも40より速そうな30のようだし。
    • 納期を考えなければAmazonでDDR5-5600の安いのがあったのでそっちにしてしまってたかも。
  • M.2 SSD
    • Western DigitalのSN850XとSamsungの990 PROと迷いました。
    • 990 PROの方が新しいから高かったので、安い方にしました。
  • マザーボード
    • PCIeが3個しかないけど、比較的高速なので3GPU構成も期待してこれにしました。
    • 色々拡張したい人は厳しいかもしれないけど、USBの数は豊富らしいのでそっちで拡張するのがいいと思う。
  • 電源
    • Platinumだけど安かったのでこれにしました。
  • PCケース COOLER MASTER HAF 500
    • 前面に大型の20cmファンx2が付いて、内部にもGPU用のファンがある。
  • OS Windows 11 Pro
    • Hyper Visorとリモートデスクトップが欲しい。
    • 安いものは違法コピーもあるらしいので、有名なお店にしました。
  • その他
    • 電源延長スイッチが便利
    • PCケースファンの外向きが1つしかなかったので追加
    • 水冷まで手が回らなかった。。。
      • 温度や騒音を確認しつつ、いつかGPUも含めて大型の本格水冷にしたいところです。
      • まだ本格的なビルドやAIトレーニングしてないけど、空冷でも十分冷えてうるさくなかったので満足。
ArkBigArkBig

Tips

  • 大きなパーツは後からつけた方がいい
  • CPUクーラーの向きは確認しましょう
  • メモリの挿す位置は決まった順番で行う
    • そうしないと、マザボのステータスLEDランプが、CPU点灯+DRAM点滅の状態でDRAM初期セットアップが終わらなかった
  • Windows インストールメディアの作成はUSBメモリによっては失敗することもある
    • インストール失敗したから、16GBのUSBメモリ新しく買ったらちゃんと動いた
ArkBigArkBig

nvidia-smiの結果
たぶん#0がPalit、#1がMSIだと思う。待機消費電力がMSIの方が小さい。

$ nvidia-smi
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.01              Driver Version: 546.01       CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| 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 RTX 4070        On  | 00000000:01:00.0 Off |                  N/A |
|  0%   33C    P8              12W / 200W |      0MiB / 12282MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 4070        On  | 00000000:02:00.0 Off |                  N/A |
|  0%   31C    P8               5W / 200W |      0MiB / 12282MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

PyTorchのGPUベンチマークを行いたかったけどよくわからなかった。
https://github.com/pytorch/benchmark
成功している処理が違う気がするのであまり比較できないけど、PalitとMSIではどちらもほぼ同じ。
PCIe4x16接続とPCIe4x4接続(どちらもCPU直結)は差がなさそう?

$ python test.py -k "cpu"
Ran 388 tests in 1488.782s
OK (skipped=134)

# Palit GeForce RTX 4070 Dual 12GB
$ python test.py -k "cuda"
Ran 388 tests in 1625.298s
FAILED (errors=9, skipped=65)

# MSI GeForce RTX 4070 VENTUS 2X E 12G OC
$ python test.py -k "cuda"
Ran 388 tests in 1614.083s
FAILED (errors=9, skipped=65)

# Multi GPU
$ python test.py -k "cuda"
Ran 388 tests in 1032.149s
FAILED (failures=2, errors=8, skipped=65)

PyTorch LightningのExampleも試してみた。
https://github.com/Lightning-AI/pytorch-lightning/tree/master/examples
けど、よくわからない。

推論

$ ./run_fabric_example.sh --accelerator "cpu"
Elapsed (wall clock) time     :    20.81 sec ± 8.165 ms (0.0 %) [20.8 sec ≦ 20.81 sec ≦ 20.82 sec] / 3                   

$ ./run_fabric_example.sh --accelerator "cuda"
Elapsed (wall clock) time     :    10.84 sec ± 9.428 ms (0.1 %) [10.83 sec ≦ 10.83 sec ≦ 10.85 sec] / 3              

訓練

# 最初の2つはcpuで処理されてるけど、後の2つはCUDAが使われてそう
$ ./run_pl_examples.sh --trainer.accelerator "cpu"
Elapsed (wall clock) time     :     6.81 sec ± 439.1 ms (6.4 %) [6.47 sec ≦ 6.53 sec ≦ 7.43 sec] / 3                          

$ ./run_pl_examples.sh --trainer.accelerator "cuda"
Elapsed (wall clock) time     :    12.76 sec ± 17 ms (0.1 %) [12.74 sec ≦ 12.77 sec ≦ 12.78 sec] / 3                          

よくわからないので、実際に使ってみて計測してみます。
ということで発売50周年の今年に最善手を指し続けると引き分けと判明したオセロを題材に強化学習を勉強してみます。

ArkBigArkBig

まとめ

パーツ選定は楽しいな。
特に後悔はないが、ケース内サイズとGPUサイズは注意が必要。せっかくGPU用にケースファンがあるけど、Palitのは長くて干渉してしまう。幸いMSIのは少し小さくてギリギリ入ったので、PCIe 1にPalit、PCIe 2にMSIを刺すことで問題なく冷やされてる。
また水冷でなくても十分冷えてそうで、大型ファンにしてるから比較的低音で耳障り感も少なくていい感じです。会社のデスクトップPCはなんであんなにうるさいんだろう。

あとヤマダ電機 楽天市場店で買ったWindows11 Proですが、3~7営業日で出荷だったのに2週間たっても発送されない。発送日遅かったけどもっと安いお店で買った方がマシだった。