Deep Learning Machine: First build experience
Update: I had to reinstall all the deep learning software. Details can be found here.
I recently built my first computer. The main purpose of getting a computer was to have a computer of my own. I always had access to computer through work, so never bought my own. However, wanted to have one of my own so I can optimize it the best I can for the simulations I run. Most of my work involves generating mathematical equations to describe physical phenomena, design a controller, and perform simulation experiments to answer specific research questions. For example, am working on simulation models to predict how walking gait changes with prosthetic’s inertial parameters among individuals with trans-tibial amputation, another project am working on involves developing computational models to characterize behavior of stroke surviors (using deep learning, audio processing and language processing for quantifying emotional expression). As my main appointment is in mechanical engineering, am working on developing autonomous robots and courses in control systesm.
In addition I have been a constant student at Udacity. Recently, I was selected to participate in Udacity’s self-driving car nanodegree, so finally decided to make computer for deep learning applications. My budget was around 2K, and aim was to spend all the $$ solely on parts needed for deep learning applications.
The process of selecting parts was tedious, and took almost 2 months just to decide on the parts. During this time, I read many blog posts, saw many youtube videos etc. Of all the resources linus tips is my go to channel for hardware updates. I finally settled on the following parts, http://pcpartpicker.com/list/DNjdqk
Get Vivek Yadav’s stories in your inbox
Join Medium for free to get updates from this writer.
Detailed part list in the link above, but below are the specific things I got for deep learning application,
- GPU: I went with titan X (maxwell) GPU. I was fortunate enough to get NVIDIA’s GPU Grant so could spend that money on m2 drive and RAM.
- RAM: I ended up going with 32GB of RAM. Although, I originally ordered 64GB of RAM, the vendor sent me 8- 8GB RAMS, instead of 4–16 GB RAMS, so just went with 32GB.
- Storage (OS-drive): M-2 drive, so I can get very fast read/write speeds from disk. m2 drive is surprisingly small, and has very high read/write speeds (in GBps) which is very well suited for deep learning applications. I chose samsung 950 pro. More details can be found here, http://arstechnica.com/gadgets/2015/10/950-pro-review-samsungs-first-pcie-m-2-nvme-ssd-is-an-absolute-monster/
- Storage: SSD/HDD. I went with 1 TB SSD for working on files am currently using, and a 6TB HDD for mass storage.
I am new to linux, so didn’t go with RAID configurations, but will switch to that eventually.
Assembling the computer was straight forward. I then installed Ubuntu 16.04, and then went to install drivers for titan X. It took me longest to get the Titan X running. I kept getting the infamous purple screen and got stuck in login loop. At the end, disabling the secure boot, and changing the motherboard display to default display fixed the issue. After installing the standard deep learning libraries, I finally got my computer training neural networks on GPU.
I was pleasantly surprised by the build process, and how rewarding it was to see the first boot. It took a full day to build the computer and almost 3 days to get the softwares installed. Once everything was up and running, the computer was chewing through convnets like paper. Models that used to take 3–4 hours on my 2011 macbook pro were taking less than a minute on this machine.
My tip for anyone considering building a computer of their own, just do it. There are many things that will come in your way, and there will be constant anxiety about every small detail. More importantly, do not listen to every self-proclaimed guru on internet. I reinstalled ubuntu 16.04 16 times before I could get it up and running.









