Building an home machine - specs & questions


I normally build PCs for gaming and figured I’d to setup a data-at-home system.

This is mainly as I find 25GB Colab too restrictive, and prefer not to do the paid-cloud thing for amortizations reasons.

Also, I am an enthusiast builder so it’s fun for me :slight_smile:

Here’s my starting point:

GPU - EVGA GeForce RTX 2070 8GB
SSD - Samsung 970 EVO 1 TB V-NAND M.2
MoBo - ASRock X570 Taichi
CPU - AMD Ryzen Threadripper 2920X (12 Core/24 Threads/60 PCIe Lanes)
RAM - 64GB Corsair Vengence 3000Mhz CL16

Do I need more than 1 GPU?
Do I need more than 64GB ram (how big a dataset would need be?)?


This is THE deep learning hardware guide that helped me build my machine:

You need a second GPU if you want to train/iterate faster or if you use bigger models. So this depends on your use case (as does the GPU RAM).
64 GB (system) RAM should be fine, but also depends on your exact use case (I have 32GB RAM and this was never the bottleneck so far).
Enough CPU cores and a SSD are really necessary to get the data as fast as possible to your GPU(s).

All in all, your setup looks reasonable from a high level (without checking the compatibility of the parts or other details). :slight_smile:


This is the guide I followed. The DL rig built has been running solid for well over a year and I’m able to access it remotely from wherever I am in the world.

Here is a guide I put together for creating a development environment with tmux/tmuxp that make it super easy to create and switch from one environment to another.

1 Like

Thank you both!

The Threadripper won’t work with an X570 motherboard (wrong CPU socket). If you want a 12 core CPU with the X570, go with the Ryzen 7 3900x. If you want the PCIe lanes then keep the threadripper CPU and buy a X399 motherboard (which has the right socket for the threadripper CPU).

I suggest, if you can, get the 2070 with 11GB of RAM, 8GB will limit you typically to smaller models, e.g. I don’t think you can run anything larger than resnet50 on 8GB GPU ram. I would also get a power-supply and motherboard that will handle two GPU’s if/when you find that you need more GPU power for larger datasets.

Your input data size and batch size will be the limiting factor unless you go for very big models.
On a 8 GB GPU you can easily run bigger EfficientNets too.