NVIDIA Brev Integration#

Overview of Workbench and Brev#

Brev is NVIDIA’s platform for launching cloud instances.

Using a Brev-managed cloud instance as a Workbench location significantly simplifies the process of connecting to remote locations.

Brev provides Cloud GPUs#

  • It’s a paid service with a click-thru UI/UX to launch GPU instances from different cloud providers

  • It has a CLI that you install locally to simplify connecting to remote machines via SSH

Workbench connects easily to Brev instances#

  • Workbench comes pre-installed on Brev provisioned instances so you don’t need to install it

  • You run a single command in the Workbench CLI to connect to a remote location on Brev

  • Workbench automatically configures the remote location using SSH information provided by Brev

The Brev integration is simple#

  • Set up the prerequisites

  • Create an instance on Brev

  • Run a Workbench CLI command

  • Start working!

Integrating Brev and Workbench#

Prerequisites#

Note

On Windows, you must install the Brev CLI in the NVIDIA-Workbench WSL distribution, however there is a complication because sudo access is blocked in that distribution.

See here for how to install the Brev CLI on Windows.

Get a Cloud Instance on Brev#


Screenshot of the Brev console showing the GPU tab.
  • Log in to Brev, go to the GPU tab, and click Deploy an Instance

  • Select VM mode on the next screen. Do not select the Jupyter option

  • Then select the type of GPU you want, and then select the configuration and provider

  • Configure the disk size, give the instance a unique name, and click Deploy to launch the instance


Screenshot of the Brev console, showing the VM mode deployment options.

Use the Workbench CLI to connect#

This feature is currently only implemented in the CLI. Once you’ve connected using the Workbench CLI, the location will appear in the Desktop App and you can use it like any other location. You cannot connect the remote location until it is running.

  • Run brev list to verify the instance is running and get its name, <instance-name>

  • Run the Workbench CLI command to connect a remote location using the Brev instance name

    nvwb create context --brev-instance-name <instance-name>
    
  • Follow the prompts to confirm the connection

  • Go the Main Locations page in the Desktop App and refresh with ctrl+r

  • The Brev location should appear as brev-<instance-name>

FAQs#

How do I install the Brev CLI in the NVIDIA-Workbench WSL distribution?#

This is complicated by the fact that sudo access is blocked in that distribution.

However, there is a simple workaround.

  • Enter the distribution as root from a Windows shell or PowerShell:

    wsl -d NVIDIA-Workbench -u root
    
  • Once you have entered as root, you can install the Brev CLI with the usual command for Ubuntu:

    bash -c "$(curl -fsSL https://raw.githubusercontent.com/brevdev/brev-cli/main/bin/install-latest.sh)"
    
  • You may be prompted to authenticate the CLI to your Brev acount. DO NOT DO THIS WHILE RUNNING AS ROOT

  • Instead exit the shell session, open up the NVIDIA-Workbench WSL terminal, and then authenticate to Brev.

Is Brev a cloud provider?#

No. Brev is more of a cloud-aggregator. It provides a simple UI/UX to launch GPU instances from different cloud providers.

Is Brev free?#

No. Brev is a paid service where you pay for the GPU instances you use.

Why is sudo blocked in the NVIDIA-Workbench distribution?#

  • It significantly streamlines the installation process for WSL, since it skips you setting up a username and password

  • Having a single user in the distribution, workbench, eliminates the large number of edge cases that would be caused by users choosing their own user name

Getting around the sudo block is simple: Enter as root from a Windows shell or PowerShell: wsl -d NVIDIA-Workbench -u root

I know I created a Brev instance, but brev list doesn’t show it. What’s wrong?#

This is usually because the CLI is pointing at the wrong Brev org.

  • Get the org name displayed in the top right of the Brev console, <org-name>

  • Set the Brev CLI to use that org with brev set <org-name>

  • Then, list the instances again with brev list