inductor's blog

nothing but self note :)

数年ぶりに自作PCを作った

最後に自作PCやったのはいつだったかな・・・まだ実家にいた頃にIvy Bridgeの3770kとASUSのGTX 650で組んだときだった気がする。虎徹のクソでかクーラーがケースに入らなくて泣いた記憶が残っている・・・。

ともかく、冬のボーナスが入ったので新しいPCを組みました。

旧PC

前まで使ってたのはこれです。TSUKUMOのゲーミングBTOで、小さくてコスパ良さそうなのを選んだ。

eX.computer イーエックスコンピュータ G-GEAR mini GI5J-A190T/CP2|TSUKUMO公式通販サイト

パーツ種別 型名など
CPU i5 9400
メモリ 16GBx2 DDR4
SSD1 WD Black SN750 500GB(NVMe)
SSD2 デフォでついてたSATA3の500GB
GPU GTX 1660

だいたいこんな感じで、H310だったのでIF周りはまあそこそこって感じだった。とはいえ以下のような点で不満を感じていた。

  • USBポート数が利用に対し足りてない
  • GPUが微妙にボトルネックになりがち
  • キャプボ積みたい
  • 最大メモリ容量が少なくて仮想環境が使いづらい

加えて、Zen3アーキテクチャが良さそうだったので購入を決意。

新PC購入までの道のり

完全自作。今回は作るにあたって元某PCショップ店員の友達(花火さん)に付き合ってもらった。Nutanixとサーバー機器の匂いで興奮できる人材なので、オンプレで人材が足りていない場合は是非声をかけてみてほしい。

twitter.com

なお、Zen3のCPUは品薄になることがほぼ約束されていたので、花火さんに言われて事前に個人でCPUを確保しに行ったのだが、すでに5950Xと僕の本命だった5800Xは完全に売り切れていた。5600Xに妥協しようか迷ったのだが、運良く5900Xに巡り合ってしまい、購入。

恐ろしい。

同じく友達のりょーくんも一緒に自作することになってたので、一緒に秋葉原へ。インフラからソフトウェアエンジニアになった優秀な希少人種である。

twitter.com

新PCの構成

パーツ種別 型名
CPU Ryzen 9 5900X
クーラー Noctua NH-D15
マザーボード MSI MPG X570 GAMING PRO CARBON WIFI
メモリ 32GBx2 DDR4
SSD WD Black SN750 500GB(NVMe)
HDD 東芝のNAS向け 4TB
GPU ZOTAC GAMING GeForce RTX 3070 Twin Edge OC
キャプボ AVerMedia Live Gamer DUO
ケース Cooler Master MasterCase H500M
電源 Seasonic Focus GM 750W FOCUS-GM-750

f:id:inductor:20201220190231j:plain

何よりもまずは3070でNVIDIA Broadcastが使えるようになったのが最高!背景完全に切り取って、キャプチャ画面との合成をOBSで実現することもできる。

あとはNoctuaの空冷が死ぬほど冷える。こいつのおかげでかなり長持ちしそうだ。

ケースについてはType-C端子がフロントにある、冷えそうなケースを見繕ってもらった。実はまだ接続はできてないのでアレだが、Type-Cが必要なやつはNUCで一旦お茶を濁している。

GPUについても、Ray tracingができる点と、4K Gamingがちゃんと動くようになったのが嬉しい。144Hzとかは正直いらないけど、4K60fpsで多くのゲームが安定して動くので現状は満足している。

メモリについては折を見て128GBに増設を考えている。ほかにも、キャプボの関係で音声のミキサーも欲しくなってきてしまったのでなんか良さげなのがあれば購入を検討したい。あといいWebcamもほしい

開発環境の整備

ゲーム環境としては何も申し分がないしWindows Proで良いのだが、コンテナを扱う人間としては開発環境も揃えたいところである。

Linux環境でGPUパススルーができるというと、かなり限られてしまうのだが、Windows HostだとKVMが使えない問題やらで正直Linuxを直接動かしたいという気持ちが強い。

現状は旧PCをUbuntuマシンにしつつ、NUC2台と一緒にKubernetesクラスターにしている。

kubectl get node -o wide
NAME              STATUS   ROLES                  AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION     CONTAINER-RUNTIME
inductor-nuc1     Ready    control-plane,master   22h   v1.20.1   192.168.50.x    <none>        Ubuntu 20.04.1 LTS   5.4.0-58-generic   containerd://1.4.3
inductor-nuc2     Ready    worker                 22h   v1.20.1   192.168.50.x    <none>        Ubuntu 20.04.1 LTS   5.4.0-58-generic   containerd://1.4.3
inductor-gpu      Ready    worker                 22h   v1.20.1   192.168.50.x    <none>        Ubuntu 20.04.1 LTS   5.4.0-58-generic   containerd://1.4.3

下記を見ると、GPUのアタッチが行われていることがわかる。

 kubectl describe node inductor-gpu
Name:               inductor-gpu
Roles:              worker
...
Addresses:
...
Capacity:
...
Allocatable:
  cpu:                6
  ephemeral-storage:  189274027310
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             32721652Ki
  nvidia.com/gpu:     1
  pods:               110
System Info:
...
Non-terminated Pods:          (16 in total)
...
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
...
  nvidia.com/gpu     0           0
Events:              <none>

現状はこれに遊びでTensorflowやPyTorchなどのジョブを流したり、ワークフローエンジンの検証をやったりしているが、そのうち3070使ってなにかしたいなーとも思っている。

というわけで、Linux環境を別に持っているので、現状はPowerShellとVSCodeで普通にどうにかなっている!!!必要ならSSHすればいいし、実は今はDockerも使わずになんとかなってる・・・。

おまけ

ケースが届く前に組み立てて遊んでたときの様子がこちら

f:id:inductor:20201220190057j:plainf:id:inductor:20201220190052j:plain

自作沼楽しい!!!!!これでしばらく遊べるね :)