かえるのプログラミングブログ

プログラミングでつまずいたところとその解決策などを書いていきます。

PC構築初心者による Kaggle 用 オンプレ GPU マシン組み立て事始め

はじめに

こんにちは, kaerururu です。この記事は kaggle アドベントカレンダー 2022 12/05 分です。 この度 PC構築初心者の私が, 自宅の Kaggle 用 TitanRTX 1枚挿し GPU マシンを増築して TitanRTX 2枚挿しにしました。その過程で得た知見 (パーツ選びの際に気をつけることやハマりポイントなど) を書いていこうと思っています。


想定読者

  • オンプレ GPU マシンを作りたいけどパーツの選び方とかわからないよっていう人
  • BTO で PC 買ったけど, スペックを上げたいなと思っている人
  • 計算機そのものも欲しいけど, パソコン自分で組み立てること自体に興味が持てる人 (重要)

筆者とオンプレマシンについて

  • 機械いじりド素人
  • GCP などのクラウド資源だとコスト気にして実験に集中できないよと思い, 2020年? くらいに BTOGPU マシン(GeForce RTX 2080ti * 1, GPU 11GB, メモリ32GB) 購入 (33万)
    • 機械いじりに自信なく高い買い物して動かなかったらショックだったので, BTO で購入。
  • 11GB じゃもの足りなく感じ中古で Titan RTX 購入 (40万)
    • 当時最も半導体が値上がりしていたので中古で 40万とかなり下手くそな買い物になりましたがそのマイナスを差っ引いても満足度の高い買い物でした。
    • GPU の挿し替えのため, 初めてパソコンのケースを開けました。
  • メモリが貧弱で GPU に乗せる以前の処理がボトルネックになっていたことが判明, 追加で 16GB * 2 購入。ようやく回したい実験をストレスなく回せるようになりました。
    • メモリのスロットが 4箇所あり, うち 2箇所は買った時点で埋まっていたのですが, 残りの 2箇所に挿すだけでした。
  • 24GB だけでもコンペを選ばなければ, 現実的な実行時間でコンペに取り組めていましたが, もう少しマシンパワーが欲しくなり追加で中古 Titan RTX 購入 (30万くらい)
    • それに伴い, マザーボード, 電源, CPU, ケースなどを追加購入
    • 初の大規模な増築でした。

筆者の PC の中身 なかなか散らかっている


本題

ここからは, パーツそれぞれについて選び方やハマったポイントを書いていきます。

最小構成といって, マザーボード, CPU, CPUファン(グリスも), メモリ, 電源, (GPU) が用意できれば起動して Bios 画面に移行できるので最低限のパーツについて紹介します。

GPU

  • Kaggle 用マシンにおいて最も重要でお金のかかるパーツ
  • 筆者は買い物が下手くそなので中古で合計 70万円使って Titan RTX (24GB) ものを 2つ買いました。
  • 筆者の所感ですが, GPU 選びのポイントは

    • 1枚で最低 24GB あると望ましい, 16GB 未満なら自宅マシンをあえて作る必要性を感じないレベル
      • GCP で比較的価格を抑えて instance を作成するときに選ぶであろう T4, P100, V100 は1枚あたり 16GB
    • 2枚以上の場合は, nvlink という専用のブリッジ (まあまあ高い) を 2枚の GPU に接続して仮想的に 1枚の GPU として扱うか, GPU を使うソースコード側で DDP という 2枚の GPU を勾配などを共有しながら使用するような実装をする必要があり面倒くさいです。
    • 複数挿しにする場合は,
      • 電源を電力をたくさん供給できるものにする (TitanRTX 一枚の時は 750W, 2枚の今は 1250W のものできちんと動いています)
      • GPU 2枚が挿さるマザボ, GPU 2枚挿さっているマザボとコードがしっかり収まるケース
      • 冷却設備 (空冷・水冷など, 後述)
      • なども用意する必要があります。
  • よく見る GPU たち

GPU メモリ (GB)
RTX 3080 10
RTX 3080ti 12
RTX 3090 24
RTX 3090ti 24
Titan RTX 24
RTX A4000 16
RTX A4500 20
RTX A5000 24
RTX A5500 24
RTX A6000 48
  • 参考 : GCP で選べる GPU たち
GPU メモリ (GB)
NVIDIA K80 12
NVIDIA P4 8
NVIDIA P100 16
NVIDIA V100 16
NVIDIA T4 16
NVIDIA A100 40

電源

  • 規格
    • 1250W Gold のように書かれていて, W は文字通り電力量, プラチナとかゴールドなどが書かれているのは電力への変換効率だそう。
  • 選び方
    • GPU は電力消費が激しいので, たくさんの電力を供給できる電源を用意する必要がある。
    • 筆者の環境では, TitanRTX * 1 -> 750W, * 2 -> 1250W でしっかり動いています。

マザーボード

  • 規格

    • ATXmicroATXMini-ITX などがあり, 左に行くほど大きい。
    • 筆者は BTO 購入時についていた microATXGPUを2枚, メモリを4枚挿して使用。(あまりオススメしない)
  • 選び方

    • GPU が 2枚挿さりそうな大きいもの
      • ただ2枚挿さるだけでは冷却性能の観点で不十分かもしれない, 空間的余裕が欲しい
      • GPU の温度が上昇しすぎると性能が落ちたり壊れたりするらしい...
    • メモリが 4枚以上刺さるもの
      • スロットの他に, 積める最大メモリ量というものが決まっており, 筆者の microATX マザボでは最大で 64GB までしか載せられない(とても困る)
  • やらかし

    • マザーボードによって対応しているメモリの規格 (DDR4 2666 みたいな), CPUソケットの規格 (LGA~) などが決まっているため, すでに持っているパーツを流用したい場合は気をつけて選びましょう。 (1敗)

CPU, CPU ファン, グリス

CPU

  • 規格
    • intel core i5 とか core i7 とか聞いたことのある人も多いと思います。
    • core i7-9700 みたいな感じで, i7 がグレードで 9700 が世代です。
    • AMD Ryzen シリーズもありますが, Ryzen は買ったことがないので何とも言えません。
  • 選び方
    • core i7-9700 を筆者が使用していますがこれといって不便は感じていません。- 並列数やらで選ぶといいらしいです。
  • やらかし
    • CPU とマザーボードを一気に新調しました。しかし, 起動テストで Bios 画面に移行せず, ネットで調べると CPU かマザーボードのどちらかに原因がありそうというところまでしかわからなかったため, どちらも返品しました。初心者の人は片方ずつ新しいものを用意して, どちらかは必ず動くことが担保されている状態で新しいパーツを購入した方が良さそうです。

CPU ファン

  • 概要
    • CPU につけて冷やす役割
  • 選び方
    • CPU にセットになっているものもあるが別途買った方がいいらしい。CPU は高温になりすぎると PC が落ちたり, 壊れたりするのでよく冷やしましょう。ファンを別途購入する場合, 対応する CPUソケットのものを買いましょう。筆者は自分で組み立てられて ryzen, intel, 複数のLGA規格に対応できるものを買いました。ファンも2つついてます。

グリス

  • 概要
    • CPU とファンの間に塗る粘土みたいなもの。CPU からファンに熱を逃がす役割がある。
  • 選び方
    • ファンに最初からついてるものもありますが, 別途購入した方がいいらしい。筆者は 400円くらいものを購入。

メモリ

  • 規格
    • DDR4 2666 のように決まっていて, それぞれ世代, 周波数を意味します。
  • 選び方
  • やらかし
    • DDR4 だけに注意して DDR4 3200 のメモリを購入, 3200 はマザーボードに対応していなく挿しても PC が認識しませんでした。
    • メモリを挿す場所が複数ある場合は, 挿す順番も決まっており, 間違ったところに挿しても PC が認識しません。

ケース

  • 選び方
    • マザーボードに対応しているものが良い (ATX 用とか)
    • 冷却性能に不安がある場合はファンがついてるものとか
    • 光るものもある (光らなくても良い, 電気代を考えると寧ろ光らないほうが良い)
    • 究極なくても問題ない
      • オシャレな剥き出しマシン (埃とかの掃除大変そう)

筆者の完成した PC (カッコイイ)


最後に

  • 色々書いてきましたが, マザーボード, CPU, メモリなどそれぞれこの規格でないと動かないなどの罠が多く, 初心者には難しいです。
  • 初期費用を抑える -> 手元の環境じゃ満足できなくなって増築を繰り返してきました。増築のプロセスは工作みたいで楽しいですが, 時間かかりますし間違ったパーツ買った時のショックは大きいです。
  • 自宅 GPUマシンを購入するなら腹を括って LambdaPC を買ってしまった方が良いです。(今なら RTX A5000 (24GB) 2枚挿しで 140万円くらい)

参考URL

追記

  • 2022/12/05
    • nvlink 周りの記述が正確ではないため, 取り消し線しました。