Setting up a computer for Deep Neural Network and Gaming


I've just built a computer for both gaming and trying out deep neural networks (DNN) and I need some help. I currently have Windows 10 64-bit installed on an NVME drive and am thinking of having a separate bootable drive for the Linux/DNN project.

The computer specs are:-

Motherboard: ASUS Maximus VIII Impact
Processor: Intel i7 6700K @ 4GHz
GPU: Single ASUS Strix GTX1080
RAM: G. Skill 32GB Ripjaws V @ 3200mhz
Installed HD: Intel 750 1.2TB 2.5" SSD NVME via U.2

I am a total n00b when it comes to Linux since I've only really used Windows and Macs. I have "some" experience in code but is pretty much limited to... DOS... as well as recently getting acquainted with the basics of Terminal on MacOS.

As a little side project I would like to try to simultaneously learn Linux, command lines and TensorFlow. I really appreciate it if you guys can give me a hand with the following.

  1. In terms of what I plan to do is the dual boot setup advisable? Is it better to get a new SATA drive or even have a bootalbe USB? Will the DNN benefit if I reversed the drives (i.e. NVME for Linux/DNN, SATA for gaming)?

  2. What Linux distro should I use? I would like to learn Linux in its purest/most versatile form and expect to be using command lines most of the time so not really bothered with a desktop environment. I've worked in really harsh research teams before so really don't mind getting thrown in the deep end as long as I don't get bogged down with the minutiae of the system (gentoo I'm looking at you). Also preferably a distro that can be used for scientific research since I will pretty much adopt Linux for my research if I understand it enough.

  3. Any advice or reference on how I should go about this project, particularly in regards to having the smoothest (albeit not necessarily simplest) experience with DNN. I currently plan to use TensorFlow via CUDA but feel free to let me know if another AI platform might run better on Linux.

Thanks alot!

The specs for NVMe drives are all over the map. They may be no faster than a SATA SSD, or DRAMATICALLY faster. Linux will be happy on either. I don't know enough about DNN to offer an opinion.

If you were going to tinker with Linux periodically, just out of curiosity, then Virtual Box would be sufficient. But, in your case I would recommend dual booting. Dual booting on a UEFI machine isn't too hateful, so long as you do your homework. If you didn't install W10 in UEFI mode, it is worthwhile revisiting this. When dual booting, it is also essential that W10 be installed first, since it doesn't play well with other operating systems.

A brief outline would be:
1-Disable Secure Boot. Not all Linux distros will support it.
2-Configure the first drive as GPT and install W10 in UEFI mode. W10 pretty much handles all of the partitioning, as I recollect.
3-Configure the 2nd drive as GPT and set up the desired Linux partitions, including an ESP (UEFI system) partition.
NOTE: Many guides recommend increasing the size of the ESP on disk 1 in order to accommodate Linux, but I find that keeping both OS' completely separate, on different drives, including the boot loaders, leads to a more stable experience, with fewer headaches down the road. Also, as near as I can determine, each UEFI machine needs a minimum of one ESP partition (which the W10 installer will create for W10), but there is a maximum of 1 ESP per drive (otherwise some UEFI implementations can get confused) - some guides are confusing and seem to suggest that when installing Linux alongside of W10 on the same disk, Linux needs its own ESP. This is not true, multiple OS' can share a ESP, assuming the partition is big enough.
4- Install Linux in UEFI mode.
5-Reboot. Linux typically does not use GRUB on UEFI machines. Usually they rely on the machine's built-in boot screen (F11?) to select the desired OS at boot time.

Gentoo, or Arch is what you ultimately want, as they allow you to build your own custom Linux OS from the ground up. However this isn't for beginners. I would suggest that you learn to craw, before you enter a triathlon. There is a distro, aptly named Scientific Linux, which is essentially Red Hat Enterprise Linux and it is used by places like Fermilab. This is a massive distro that may very well pre-instal many of the hard-core software tools that you need. You might wish to check YouTube for reviews.


@BarkingMad Thanks! At least now I have a direction on how to handle this. Much appreciated!