The Living Thing / Notebooks :

Getting a laptop in fit shape for deep learning with Ubuntu

How is deep learning awful this time?

I want to do machine learning without the cloud, which as we learn previously, is awful.

But also I’m a vagabond with nowhere safe and high-bandwidth to store a giant GPU machine (campus IT don’t return my calls about it; I think they think I’m taking the piss.)

So, let’s buy a Razer Blade 2016, a nice portable, surprisingly cheap laptop with all the latest feature and a comparable performance to the kind of single-GPU desktop machine I could afford.

I don’t want to do anything fancy here, just process a few gigabytes of MP3 data. My data is stored in the AARNET owncloud server. It’s all quite simple, but the algorithm is just too slow without a GPU and I don’t have a GPU machine I can leave running.

Contents

The CUDA Bit

Installing CUDA etc on the laptop is straightforward. Making it run is not.

cuda download I recommend the network .deb

Daniel Teichmann’s Bumblebee instructions.

NVIDIA’s howto points out that you will need to care about Bumblebee to survive Ubuntu.

Confusing, because most sources seem to think you want to have NVIDIA graphics; but what if you merely want NVIDIA computing via CUDA, and don’t care about graphics?

In stark contrast to NVIDIA, they claim:

There is sometimes confusion about CUDA. You don’t need Bumblebee to run CUDA. Follow the How-to to get CUDA working under Ubuntu.

Lies! without Bumblebee the NVIDIA gets switched off.

Their second point is interesting though

There is however a new feature (--no-xorg option for optirun) in Bumblebee 3.2, which makes it possible to run CUDA / OpenCL applications that does not need the graphics rendering capabilities.

Bumblebee is its own small world. There is a walkthrough for a Razer Blade. It has a debugging page, which you will need.

sudo apt install nvidia-prime
sudo prime-select intel

Install bumblebee via the ppa (NB the stable version is too old. as of 2018-03)

sudo add-apt-repository ppa:bumblebee/testing
sudo apt-get update
sudo modprobe nvidia-uvm nvidia
primusrun python -i jobs/spectrogram_normed.py
primusrun nvidia-smi
CUDA_VISIBLE_DEVICES= primusrun python jobs/spectrogram_normed.py

Tensorflow ACPI interaction.

Turn Off Discrete nVidia Optimus Graphics Card in Ubuntu

Tensorflow wants the whole GPU.

Webupd8 bumblebee howto

monitoring NVIDIA power without using the NVIDIA

Boot without graphics in Ubuntu.

https://dip4fish.blogspot.com/2016/03/using-tensorflow-07-from-python-on.html

Fixing kernel version because the NVIDIA drivers don’t always seem to exist

Fix grub default to boot the good kernel

Other comforts

See [comfy ubuntu]({filename}/notebooks/comfy_ubuntu.md).