Categories: BlogCanonicalUbuntu

WSL for data scientist

Windows Subsystem for Linux for data scientists

Ubuntu is the number one choice for data scientists worldwide. It is also by far the most popular Linux distribution used on public clouds with machine learning offerings. However, we don’t forget about our Windows friends – many of whom had their operating system chosen by corporate IT departments. Windows users can still get all the benefits of using Ubuntu thanks to Windows Subsystem for Linux.

This post will walk you through a complete setup from the new Windows 10 installation to a complete data scientist work environment. The assumption is that you have a laptop / desktop with Windows 10 and NVidia GPU. What we want to achieve is a stack like this:

Step 1: Install WSL

First, we need to start by installing WSL itself. 

Open PowerShell as an Administrator:

Type the following command to enable WSL:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Restart your computer.

After restarting, download and install the WSL 2 Linux kernel from Microsoft for your device architecture:

Finally, we recommend you to set WSL 2 as the default WSL environment:

wsl.exe –set-default-version 2

Step 2: Install Ubuntu

Download Ubuntu for WSL from the Microsoft Store.

Run Ubuntu from the Start menu.

Select a username and password for your administrative user.

Once the Ubuntu installation is complete, we recommend you download and try the new Windows Terminal for the best Ubuntu on WSL experience.

Step 3: Install GPU drivers and Docker

Next, install the proper GPU drivers. Depending on your GPU, choose the right package from https://developer.nvidia.com/cuda/wsl/download. There is no need to install the driver inside WSL VMs, as they use the driver installed in Windows. 

After that, open the Windows terminal, and set up Docker inside your Ubuntu installation:

curl https://get.docker.com | sh  

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add –

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update

sudo apt-get install -y nvidia-docker2 

sudo service docker stop

sudo service docker start

Now, check that everything is working fine by running a benchmark:

docker run –gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark 

Step 4: Install Data Science Stack

After this, install the Data Science Stack:

git clone https://github.com/NVIDIA/data-science-stack

cd data-science-stack

./data-science-stack setup-system

This allows you to now create and run containers with all necessary tools:

./data-science-stack list

./data-science-stack build-container

./data-science-stack run-container

The reverse of build-container is purge-container.

Step 5: Enjoy!

With everything set up, youcan now go to http://localhost:8888/ and enjoy the Jupyter notebook and full power of Linux CLI.

You can try this, for example, with HP Z series laptops, which come with a pre-setup environment so that you can start working just after the first boot of your new machine.

What’s next

There are many more reasons why Ubuntu is the de-facto standard operating system for data science. You can find them all on https://ubuntu.com/ai 

Ubuntu Server Admin

Recent Posts

Predict, compare, and reduce costs with our S3 cost calculator

Previously I have written about how useful public cloud storage can be when starting a…

22 hours ago

One Thread to Poll Them All: How a Single Pipe Made WaterDrop 50% Faster

This is Part 2 of the "Karafka to Async Journey" series. Part 1 covered WaterDrop's…

1 day ago

A year of documentation-driven development

For many software teams, documentation is written after features are built and design decisions have…

2 days ago

Announcing FIPS 140-3 for Ubuntu Core22

With the release of the FIPS 140-3 certified cryptographic modules for Ubuntu 22.04 LTS, Canonical…

3 days ago

The foundations of software: open source libraries and their maintainers

Open source libraries are repositories of code that developers can use and, depending on the…

6 days ago

From inspiration to impact: design students from Regent’s University London explore open design for their dissertation projects

Last year, we had the opportunity to speak at Regent’s UX Conference (Regent’s University London’s…

7 days ago