One thing is true about skills. They dull over time if you use them less often. I’ve been programming as a hobby, at school and at work over the last 15 years. But recently I’ve not been able to get very hands on. I’ve been lucky to have done well at work and moved to roles that manage analytics projects rather than working in the trenches. But a recent project at work gave me a chance to dust off my technical skills. The success of the project was due in large part to my ability to combine my team’s domain knowledge with my programming skills to bring a complicated model to life. It was a good refresher of my skills and I loved it. That feeling was the final push that got me to this post.
I decided that I wanted to build a machine where I could update my programming and data analysis skills and start on machine learning concepts and projects. I’d built windows based desktops and Ubuntu based servers before. So building one wasn’t going to be a problem. But picking the right parts was. I read a lot of posts about people building their own deep learning/machine learning rigs for anywhere from $1,000 to $3,000. I initially aimed for $1,500 but as I started reading more I realized that I could get a good machine built for closer to $1,400. But given that I was willing to wait till thanksgiving I was able to get the price to below $1,350.
So here it is – My custom rig for less than $1,350.
CPU: AMD – Ryzen 5 1600 3.2GHz 6-Core Processor
So after the AMD FX 64 series, this seems to the first time in a long time that AMD has some compelling hardware compared to Intel. The Ryzen 5 1600 is a 6 core/12 thread processor that I bought for $175 on Amazon on Thanksgiving 2017. The processor provides more cores than the core i5 (4C/4T) at a much lower price. The other choice was a 1600x with slightly higher clock speeds but it didn’t come with a fan . The total price including an aftermarket cooler compatible with my case would have been $240. The difference in clock speeds is negated once you realize that the 1600 can be overclocked to at or near 1600x performance numbers and at $65 less it’s the better buy.
With Intel’s Coffee Lake lineup the Core i5 now offers 6C/6T but at a price of ~ $280 at the time of purchase it was too new and still more pricier than AMD. It is however good to see Intel getting some competition again. It’s just great for consumers.
MOTHERBOARD: ASRock – AB350M Pro4 Micro ATX AM4 Motherboard
I went with this motherboard which had fairly good reviews on both Newegg,com and Amazon.com. I wanted to also keep things small, so I went with the MicroATX version of the case. I could have gone with ITX but the memory on most boards I checked was limited to 32GB. I wanted the option to expand RAM to 64GB in the future. I bought it for $75 with a $10 rebate but Newegg was kind enough to refund $15 because the price dropped within 24 hours of my purchase. Final price $49.99
CASE: Corsair Air 240 MicroATX Mid Tower Case
This case was a pleasure to build in. Unique dual chamber layout made cable management a breeze. Got the white one. A great video review from Hardwarecanucks can be found here (https://www.youtube.com/watch?v=MgwzyBk3r6A) . Although my experience with the case finish was better than the version in this video. Maybe Corsair made changes based on feedback.
GPU: MSI GTX 1070 AERO ITX Video card
I was expecting to spend a good amount of money on a graphics based on feedback from multiple sources. But what I found tough was coming to grips with the reality that I would be spending so much on a graphics card for something other than gaming. I have a AMD R9 290X on my gaming machine. Needless to say that this card is much faster. Tim Dettmers post is often cited as the bible but I actually found more practical advice from the builds from the following websites. Prices have changed a lot since these posts were published so make sure to look at pcpartpicker.com for pricing your build.
- https://www.servethehome.com/optimizing-a-starter-cuda-machine-learning-ai-deep-learning-build/
- https://www.oreilly.com/learning/build-a-super-fast-deep-learning-machine-for-under-1000
- https://www.servethehome.com/deeplearning02-sub-800-ai-machine-learning-cuda-starter-build/
RAM: Ballistix Sport LT 16GB Single DDR4 2666 (PC4-21300) x 2
RAM is expensive. Especially 32GB of it. Bought 2 sticks of RAM, 16GB each for a total of $295. Will upgrade to 64GB in the future if the need arises.
STORAGE:
- OCZ Vertex 2 120 GB SATA II: I had this drive lying around from an older machine. It’s not as fast as current SSDs on SATA III but it definitely is faster than HDDs. This will be the main OS drive.
- Samsung – 850 EVO-Series 500GB SATA III: One of the best SATA III drives in the market. This is the main disk for applications and databases.
- TOSHIBA N300 4TB 7200 RPM Desktop Hard Drive: When it comes to space HDDs just cannot be beat from a price/storage ratio. Got this 4TB for $110 and it comes with a 3 year warranty. A good drive to archive any old analyses and data.
PSU: Corsair – CSM 650W 80+ Gold Certified Semi-Modular ATX Power Supply
A good power supply is a must for any server that’s going to run serious computations. I usually go above PC Part Picker’s wattage measurements. I could have done with 550W but the 650W power supply actually had a deal and rebate, so it worked out to be cheaper.
WIFI ADAPTER: TP-LINK TL-WDN4800 Dual Band Wireless N900 PCI Express Adapter
This adapter just plain works on Ubuntu Server. I can connect to a wifi network during the setup of the OS itself. I had purchased the Edimax AC1200 Wi-Fi USB Adapter (EW-7822ULC) but had to return it because it would just not work on Linux kernels over 4.11. I had 4.13 when I installed Ubuntu Server 17.10. The TP-Link version works on both Ubuntu 16.04 and 17.10 and is more than enough for a 20Mbps internet. Why wifi and not wired? Well I didn’t want to run wires across my house and the machine will actually sit in my closet. So a wifi adapter with the wifi router across the room met my needs.
CPU | AMD – Ryzen 5 1600 3.2GHz 6-Core Processor | $176 |
Motherboard | ASRock – AB350M Pro4 Micro ATX AM4 Motherboard | $50 |
Case | Corsair Air 240 MicroATX Mid Tower Case | $85 |
GPU | MSI GTX 1070 AERO ITX Video card | $400 |
RAM | Ballistix Sport LT 16GB Single DDR4 2666 (PC4-21300) x 2 | $295 |
Storage | Samsung – 850 EVO-Series 500GB 2.5″ Solid State Drive | $151 |
TOSHIBA N300 4TB 7200 RPM Desktop Hard Drive | $110 | |
PSU | Corsair – CSM 650W 80+ Gold Certified Semi-Modular ATX Power Supply | $50 |
WIFI Adapter | TP-LINK TL-WDN4800 Dual Band Wireless N900 PCI Express Adapter | $20 |
TOTAL | $1,337 |
Trackbacks/Pingbacks