As you might have seen in my blog post Unboxing my new PC from a couple of weeks ago, I bought a quite nice computer for doing some basic machine learning / deep learning. In this post I’d like to elaborate on the individual parts I chose for my data science and machine learning computer.
Mac or no Mac?
Since I have been a happy Mac user for a very long time, this was a hard decision. I thought about several scenarios but for me a powerful machine for a reasonable price was more important than running Mac OS. Since Windows 10 I’m equally productive on Windows and Mac and for many fun things I need Linux anyway, so I came to the decision to finally leave the OS X world after 10 years.
Desktop PC or laptop?
My last computer has been a MacBook Pro (2011 – 6 years old!) and I have carried it around a lot and I was used to having it with me all the time. But since I left university I don’t need it all the time anymore. For writing blog posts and reading papers on the couch I still have my Surface 3, so I didn’t really miss the portability of my computer.
AMD vs. Intel
With an Intel PC it might have been easier to install Hackintosh, but even if you have the right components it might not work as well as on a Mac computer. And I was told that the price-performance ratio for CPUs with more core is better for AMD than Intel processors (the single thread performance is better for Intel).
After I had decided on buying a non-Apple desktop PC, I needed to decide on the features of my new PC. My hardware guy (aka boyfriend :-*) should then help me pick all the right components 😉 What I definitely cannot stand is not having enough memory, so this was a major concern. At first I didn’t care so much about a proper GPU but after thinking about it, it seemed a nice idea to be able to use CUDA for experimenting a little with deep learning. Everything else was basically a question of cost-benefit ratio and was decided along the way.
The chosen parts
In this section I’ll describe mainly why we chose a certain part. The details and tech specs of each part can be found at the manufacturers website.
CPU: AMD Ryzen
One task I do a lot is data processing. For this it’s nice to have some cores to parallelize the work. We decided to go with AMD, since it is cheaper than Intel, especially considered that a good CPU cooler is included. After some comparing of different options I decided to go with the AMD Ryzen 5 1600, 6x 3.20GHz. We experimented with some moderate overclocking but the stock cooler doesn’t seem to provide much thermal headroom. I am considering upgrading the CPU cooler for much better overclocking performance in the future.
Motherboard: B350 Mortar Arctic
The main constraint for the motherboard was that it had to be smaller than ATX because of the case I chose (shown below). Mini-ITX was not an option since I wanted to have 4 DIMM slots (to have the option for a futur upgrade to 64GB RAM).
The MicroATX board Patrick chose is a B350 Mortar. The board is sufficient since we only have a single GPU and only plan to do moderate overclocking. A crucial feature is the NVMe slot for the SSD. An additional plus is that the motherboard has a USB-C port and an RGB LED header.
Then there was the question of which color to choose. I think white is pretty awesome (see the B350 Mortar Arctic on Amazon)!
What you also need if you put a lot of money in a new PC anyway – an Akasa Vegas MB LED – Strip!
SSD: Samsung 960 EVO
Another important part for a data scientist is a fast hard drive. I got the Samsung 960 EVO (500 GB) and I really don’t regret it. It’s super fast and my computer is booting in just a few seconds!
GPU: NVIDIA GeForce GTX 1050 Ti
The first plan was to get a Radeon RX 460 graphics card. We thought about it a little more and decided to go with an Nvidia graphics card. For just approximately 80€ more I could get a graphics card on which I can use CUDA! I don’t know much about the topic (yet) but if you research a little you find many people saying that you should chose CUDA over openCL (e.g. OpenCL vs. CUDA).
It didn’t matter which 1050 Ti to choose, but we picked the MSI GeForce GTX 1050TI. The motherboard is also MSI and they look very nice together.
Memory: G. Skill F4–2400
Maybe not the most important part for many of you, but I’m somehow into having lots of memory! My motherboard can take 4 memory bars but for now I just bought 2 x 16 GB.
What I learned from building this computer is, that finding the correct memory is hard. I was really spoiled with my Macbook Pro, there were basically no options which made it easy 😀 Luckily there is a compatibility list @ amd.com where you can check whether your parts fit together.
Due to the Zen architecture of my AMD Ryzen CPU, fast memory is more important than with intel CPUs. Additionally there where some early RAM compatibility issues with the new platform, but as far as I know everything is fixed with BIOS udpates by now. Finally we decided to get G. Skill F4–2400 (16 GB x 2) (black bars look awesome on the white motherboard!).
We have not tried overclocking so far but it might happen in the future!
Case: Thermaltake Core V21
I wanted something different than the classical tower case. I saw the Thermaltake Core V21 and decided this would be my case!
It has a lot of space inside, is very flexible (you can use it horizontally or vertically) and has a 200 mm fan.
If you want to know more, check out this video!
PSU: Thermaltake Munich 430W
There was no special reason to chose this PSU. It’s not very big, but sufficient for my build. It’s the same brand as the case and we have had good experience with Thermaltake before. Other suppliers like Corsair would have been fine as well.
It can be found on Amazon: Thermaltake Munich 430W 80+ Standard PSU APFC ATX2.3 Single Rail 12cm Fan.
This is it – my beast! Do you see the tensors flowing through the GPU? 😉
Of course, everything can be faster and better – but also more expensive 😉 We collected a few components that would be a suitable upgrade for my build.
CPU: More cores
A more powerful CPU with 8 cores but similar single threaded performance is the CPU Ryzen 7 1700.
GPU: Better performance
With respect to the GPU there is a lot of room for improvement but the prices rise very fast. Better performing alternatives that also would fit with my other components are for example the GeForce GTX 1070, the GeForce GTX 1080 or if you are really crazy the GeForce GTC 1080 Ti.
One thing I will eventually upgrade is the CPU cooler. So far mine is sufficient but if I experiment more with overclocking, it will get too hot.
The one I will probably get is Noctua NH-U12S se-am4. If you want the hottest (or coolest) shit, check out the Noctua NH-D15 SE-AM4. A Noctua cooler has been used in another build in our family, and it’s really a high-end cooler. A pretty nice thing is that they provide you with a new mounting kit free of charge if you get a new CPU!
What’s your build?
So, what’s your build? What do you like about mine and what would you change? With my last post I already motivated someone else to show their build, which is pretty cool! So I’m looking forward to hear about your hardware in the comments or on Twitter 🙂