System specs
- Samsung 900X5T 15" (i7 8550U, MX150, Intel Graphics 620)
- Windows 10, Ubuntu 18.04
- Dell 24" monitor (non-gaming)
eGPU hardware
- Akitio Node Pro
- Gigabyte RTX 2080 Ti WINDFORCE OC 11G
Hardware pictures
with laptop screen![]() |
with external monitor![]() |
Installation steps
Windows 10
- pretty much plug-and-play
- The NVidia driver was already installed for MX150
Ubuntu 18.04
- Using NVidia 410 driver
- must turn on Akitio Node Pro before booting into Ubuntu
- after each boot, 2 commands have to be run for the eGPU to be detected (got this from here)
$ sudo sh -c 'echo 1 > /sys/bus/thunderbolt/devices/0-1/authorized'
$ modprobe nvidia - to use external monitor connected through eGPU, xorg configuration file has to be created (got this from here)
- First create /etc/X11/xorg.conf.d folder
- Then create nvidia.conf in that folder with the following content
Section "Device" Identifier "Videocard0" BusID "PCI:08:0:0" # This must be what your lspci command gave you Driver "nvidia" VendorName "NVIDIA Corporation" Option "AllowEmptyInitialConfiguration" Option "AllowExternalGpus" EndSection
Benchmarks
Interestingly, performance numbers are better on Ubuntu across the board.
CUDA-Z on Windows 10![]() |
CUDA-Z on Ubuntu 18.04![]() |
For Unigine Heaven, I made some mistakes and the settings are not identical on Windows and Ubuntu.
Unigine Heaven on Windows 10 (External Monitor)![]() |
Unigine Heaven on Ubuntu 18.04 (External Monitor)![]() |
Unigine Valley on Windows 10 (External Monitor)![]() |
AIDA64 GPGPU on Windows 10![]() |
Comments
I got into eGPU to do deep learning stuffs. The flexibility to take my laptop anywhere, and plug it into the Node Pro only when I need the CUDA power is liberating. It is basically impossible to train or even do inference on modern, large neural network models with the MX150 that come with the laptop. Most of the time, I don't connect the external monitor. I think this is not degrading the performance, as I am not using the eGPU to actually drive graphics but to do calculation.
I started with cloud GPU on Azure. But I wanted to do computer vision with webcam, and it was just too complicated to stream the webcam video to cloud, do inference, and stream it back. For this, eGPU is much simpler.