最後に自作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とサーバー機器の匂いで興奮できる人材なので、オンプレで人材が足りていない場合は是非声をかけてみてほしい。
なお、Zen3のCPUは品薄になることがほぼ約束されていたので、花火さんに言われて事前に個人でCPUを確保しに行ったのだが、すでに5950Xと僕の本命だった5800Xは完全に売り切れていた。5600Xに妥協しようか迷ったのだが、運良く5900Xに巡り合ってしまい、購入。
CPU確保しろっておっしゃってたじゃないですか。結論から言うと5800xはドコモ品切れで無かったんですだから5600xを買おうかと思ってとある店に行ったんですね
— inductor (@_inductor_) December 11, 2020
そこからの記憶が全くないのですが、気づいたら恐ろしいことが起こっていました.....
— inductor (@_inductor_) December 11, 2020
— inductor (@_inductor_) December 11, 2020
恐ろしい。
同じく友達のりょーくんも一緒に自作することになってたので、一緒に秋葉原へ。インフラからソフトウェアエンジニアになった優秀な希少人種である。
新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 |
何よりもまずは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も使わずになんとかなってる・・・。
おまけ
ケースが届く前に組み立てて遊んでたときの様子がこちら
自作沼楽しい!!!!!これでしばらく遊べるね :)