It has been at least 15 years since I last built up an AMD machine. We’ve looked at it over the years, but although AMD has been cheaper, they never had the single core performance that was even close and they chewed up power.
Now however things have changed with their latest processors. They use a system of cores that within 10% of Intel but they have a neat system of interconnect and are aggressive on some important features needed for big machine learning rigs.
Intel has always been stingy on Overclocking, Cores, PCI Express lanes and also ECC because they want to push to Xeon. In fact the best compromise for a long time has been the overclockable Xeon 1650 V3. Even a V3 still works well because Intel performance has been pretty stagnant in the last four generations.
Well there is a new kid on the block, the AMD Ryzen and Ryzen Threadripper that has me speccing AMD for a variety of systems:
So here are the net recommendations from low to high.
Mini-ITX for compiles not gaming
Ryzen 1700X in mini-ITX. ($1K) If you want a great compute machine (and be able to validate tensorflow or cuda builds), then the Ryzen 1700X is a pretty good choice. At $1K, it’s got an amazing 8-core Ryzen so works well for threaded jobs
It includes a low profile GTX-1050 (see Tom’s Hardware, but the sweet spots in performance as of August 2017 are GTX-1080Ti, 1080, 1060, 1050 ti and the 1030 if you can find it) in a tiny mini-ITX case. There is no expandability but since X370 motherboards only support 8x/8x multiple GPUs that’s not that big a deal. You can overclock this with the X370, so getting to 4GHZ and beating Intel single core is within reach!
ATX Tower for gaming or ML
Ryzen Threadripper 1950X ATX. ($4K). Well it does cost $1K for the processor, but this is the best value right now, you get a full 16-core system with 64GB of ECC ram and with 1.5TB of SSD storage. A really reliable well price system.
Note that you have to make sure you get a motherboard with ECC support. Make sure to get unbuffered ECC vs registered for Ryzen. Unregistered ECC works through 128GB or so but at higher densities, you need registers as direct driving the memory doesn’t work. Finally there is even ECC for call low-registered (LR) real large configurations and beyond that there is LB or Lower powered buffered. The ASRock Taichi seems like a good “budget” choice at $340 (Newegg)
While most ECC runs at DDR4-2133, you can get DDR4-2400 unbuffered ECC if you look for it. Kingston for instance has this running at CL17 for $188/16GB. You also need to make sure your motherboard supports it and turn it on in the BIOS. Both ASRock and ASUS are safe choices as they do handle this properly.
One important note is that right now, ECC does correct single bit errors and seems to report them properly to linux kernels 4.10 and above, but uncorrectable errors of more than 2 bits do not generate a machine check, but that’s better than nothing.
Single rank. Also there are different speed limits for single rank (memory on one side of the chip) and dual rank. In general dual rank ECC is limited to DDR4-2400 and single rank to DDR4-2666. So if you think you will never need the full 8x16GB, a reasonable configuration is single rank 8x8GB single rank. Then you get the quad channel performance and single rank speed (DDR4-2666). The drawback is that you are at the limit of the machine. See the Corsair CT8G4WFD8266 ($110 each vs $190 or so for the Kingston 16GB KVR24E17D8/16, so they are more expensive and run at CL19 vs CL17 for DDR4-2400 vs CL15 for DDR4-2166) which is $188 at Newegg or from Amazon third parties.
Cooling. What is interesting is that with an Asetek AIO cooler, but interesting, my old favorite, the Noctua NH-14U TR4-SP3 variant did even better particularly with an additional fan. I do find that many times, the air cooled systems do run better. Certainly that is silentpcreview.com has been finding. It makes some sense if you think about it, what’s the real benefit of water cooling, it is not a big water reservoir, it is the larger cooling area you get with two fans. This monster draws lots of power, so you need a great cooler. The really expensive Kraken 62 seems like a nice choice, although the Corsair H100 series is really popular.
In terms of motherboards, get one that supports 16x PCI Express to all the video slots. There is no reason to have all those lanes and not have the motherboard expose them.
ATX Dream Machine
Ryzen Threadripper 1950X eATX. ($15K) Ok you don’t need everything here, but for $15K, this is definitely the dream computer of a lifetime, but the best components are the 1950X which is 16 cores of glory and definitely the fastest chip out there. That plus a 10Gbps Ethernet is what you need for a dream machine that will be doing lots of machine learning from a big database.
Storagewise, it has an SSD boot drive, but the storage array is 2xSSD and 2xTB that you can run in ZFS or btrfs, this will give you 10TB of storage that is RAID-1 mirrored, but most of the time with the 2TB of mirrored SSD, you will be running at SSD speeds. Finally the box supports 16x for 3 cards, so you while no one in real life with get a P100 ($5K!) or a V100 (even more), if you outfit it with three 1080Tis you have the best value in Machine learning today.