Experience and advice for building your first GPU rig

I just built my first home server and want to share my experience with others.

I am in the starting stages of deep learning and wanted a machine that would be less than $2000 and have the options for upgrading or correcting mistakes if I bought a component that didn’t work out. I spent about 3 hours researching and then built the configuation using pcparpicker to check for compatability and then ordered all the parts on Amazon.

part model price
motherboard ASUS AM4 TUF Gaming X570-Plus $190
gpu ASUS GeForce RTX 2070 Super 8G EVO $563
ram Crucial 32GB Kit (16GBx2) DDR4 $130
storage Samsung 970 EVO Plus SSD 1TB - M.2 NVMe $200
case Fractal Design Meshify S2 $148
cpu AMD Ryzen 7 2700X $165
power EVGA 850 B3, 80+ Bronze 850W $110
Total $1506

When I had all the parts I started mounting them into the case and onto the motherboard. One mistake I made was that I did this on all a carpeted surface which increases the static electricity in the human body and increases the odds you’ll damage a component. Instead I should have done the construction on hard wood floor and been diligent to touch the steel case before handling any components.

The first time I put everything together and turned it on, there was no output to the monitor. This lead to a few hours of debugging and learning new terminology. My machine wasn’t “POST”-ing, which stands for “Power on Self Test”. there was supposed to be a series of beeps when the computer turns on, but for some reason mine never beeped.

At some point I realized that I could dismount everything from the case and test it that way. That’s what I’d recommend as it’s much easier to plug/unplug components outside of the case when you’re checking if everything is working. While debugging I stripped down the build to just the motherboard, power supply, cpu, and ram and still it wasn’t working. At that point I called the motherboard company for help and they asked me if any of the leds on the motherboard were on. These indicator leds are labeled “boot”, “vga”, “cpu”, and “dram”. None of the leds were lighting up so the phone-tech said the motherboard was defective. At that point I went back to Amazon and got a replacement part for free. One reason I bought everything from Amazon was I expected the return policy to be easy and fast and it indeed was the case.

I got the same motherboard the next day in the mail and hooked everything up and I finally had something being output to the monitor. At that point I put everything into the case and flashed a debian image to a usb stick and installed the operating system.

If all went well, the assembly process would have been a few hours. Mine didn’t go perfectly smoothly so it was more like 6 hours. Next time I would call the manufacturer earlier and have them assist. Also I would have skipped installing into the case until I knew everything was working. There are jumper pins on the motherboard that you can connect with any metal object that will act as the “on” switch since the motherboard is out of the case. Also I’d be more careful in decreasing the chance of damaging any parts from static electricity by installing on a hardwood floor and more frequently grounding myself to the case or another metal object. Another possible mistake I made is that my GPU isn’t capable of SLI, the nvidia technology that allows you to have quick transfer between multiple GPUs. I have a spare PCIe slot that I could put in another GPU, but the connection might be too slow without SLI. If I do indeed a more powerful GPU I’ll likely go to the cloud or upgrade the GPU.

Overall the project went well and it was a fun experience. I consider the total price to be relatively inexpensive which is what I wanted for my first build to minimize risk. The machine has plenty of spare horsepower for my needs so I use it for other home server needs like pihole, vpn, and plex which I before had scattered across a few raspberry pis. Hope that this is useful for anyone building the first rig.

As far as I know (unless something changed recently), you can’t use SLI with cuda/gpgpu programming.