RAPIDS Anywhere with Tailscale. It’s never been easier to get started…
By: Josh Patterson
Tags: AI, Gaming, Data Science, Gpu, Big Data

Today, NVIDIA launched a massive GPU, the GeForce RTX 3090, and the first 24+ GB GPU with a price/GB of less than $70. When NVIDIA launched the Titan RTX I thought $100/GB was a steal…but the 3090 is ridiculous. Normally, we focus RAPIDS blogs on the software, but I’d be remiss to not talk about the value of cheap big memory, and the 3090 has this in spades. As we discuss often in RAPIDS, we have more than enough FLOPS in any GPU — what we really need is more memory and random access bandwidth. The more memory you have per GPU, the less data movement, and the larger problem you can work on. In almost all cases excluding embarrassingly parallel operations, one GPU with more memory is more efficient than two GPUs communicating over PCIe. Thus, the RTX 3090 has an amazing value.

In this blog, we’ll demonstrate how you can run RAPIDS workflows from your laptop (or any mobile device really) by connecting to a remote workstation using Tailscale.

With Tailscale, it’s easy to run accelerated workflows wherever you might be, even if you don’t have your GPUs with you. We’ll walk through how we did it on an Apple Macbook laptop. Just for fun, we even tested it with an Apple iPad!

Get Up and Running in 6 Easy Steps

Install Tailscale on both devices Obtain static IP address Connect to the remote workstation using this static IP address Install RAPIDS Spin up a Jupyterlab session Connect to Jupyter

Install Tailscale on Both Devices

Using Tailscale is simple. First, set up Tailscale on both the workstation and laptop. We followed their setup guide, which worked smoothly. Because the remote workstation is running Ubuntu, we first followed the Ubuntu installation instructions.

We install at the terminal and then authenticate by going to the link provided.

The laptop is running macOS, so we then followed the Mac installation instructions and downloaded the app.

Obtain IP Address

Once Tailscale is set up on both machines, you should have access to the static IP address assigned to the remote workstation from the Tailscale web admin console. Or, you can get this info from the Tailscale application on macOS.

Connect to Workstation

Next, connect to the remote workstation using this static IP address with `ssh user@{workstation-tailscale-ip}` .

Install RAPIDS

For the purposes of this blog, we use an HP Z4 workstation running Ubuntu 18.04 with dual NVIDIA Quadro RTX 8000 GPUs. Our workstation is already set up with NVIDIA drivers and CUDA, so we can easily run RAPIDS workflows when we’re physically there.

Once you’re connected to the workstation, choose your preferred way of installing RAPIDS libraries following the instruction on rapids.ai.

Spin Up a Jupyterlab Session

With the libraries installed, you can spin up a Jupyterlab session in whatever way you prefer.

Connect to Jupyter

With the Jupyterlab session up and running, you can open any browser on your laptop and connect to Jupyter using {workstation-tailscale-ip}:8888 (or whatever port number was assigned by JupyterLab)

That’s it! Now we can kick off some work and monitor the GPU dashboard while it runs. Below, we use both GPUs for K-Means clustering on some simulated data.

It’s never been easier to get started with GPUs and RAPIDS, and with Tailscale, you can kick off RAPIDS workflows from anywhere. Now, you’ll never have separation anxiety from your data science GPU again. For more info on cool trends in GPU data science, follow @RAPIDSai on Twitter, join us on Slack, or jump in on Github.