AI Workbench Locations#
 
Overview of Locations#
NVIDIA AI Workbench provides a flexible development environment that allows you to work across different systems. A ___location represents any system where you can run your AI development work, whether it’s your local machine or a remote system with more computing power.
The following features that locations provide:
- Unified interface across all locations through the Desktop App. 
- Seamless switching between local and remote environments. 
- Consistent development experience regardless of the underlying system. 
- Support for both CPU and GPU-based development. 
- Easy project management and synchronization across locations. 
Work locally or remotely in the same UI/UX#
A ___location is a system with NVIDIA AI Workbench installed.
- local: Your laptop with the Desktop App installed, often called local Workbench 
- remote: Remote system with the Workbench CLI installed, often called remote Workbench 
Working in a ___location is straightforward#
To open a ___location in AI Workbench:
- Open the AI Workbench Desktop App and select the ___location where you want to work. 
- When the ___location window opens, select a project to work on, or create/clone a new project. 
Note
The ___location doesn’t need an NVIDIA GPU. You can work in a ___location that has a CPU only.
For example, your laptop can be a Mac.
Local and Remote#
One UI/UX for all your locations#
Local Workbench: The Desktop App installed on your laptop is the UI for all your locations.
- Local Workbench is the Desktop App installed on your laptop. 
- Your laptop can be CPU only, or can also have a GPU. 
- It’s the primary ___location that provides the user-interface. 
- You can develop and work entirely locally, even if the laptop is CPU-only. 
Remote Workbench: CLI installed on a remote system
- The remote can be a desktop, server, or a virtual machine (VM). 
- It’s accessed and managed from your local Workbench using SSH. 
- Remotes provide more compute power, e.g. GPU, for workloads your laptop can’t handle. 
Note
You can have multiple remote locations but you should only have one local Workbench.
Transferring Projects#
Move projects between locations by syncing them through platforms like GitHub and GitLab.
- Git in AI Workbench: Follows the typical collaboration and “right-sizing” workflow experienced developers, data scientists, and engineers use. 
- Workbench is explicitly designed to streamline this workflow, including handling of: - Runtime changes that need to be made, e.g. adjusting source directories for mounts. 
- GPU-specific configuration, e.g. CUDA_VISIBLE_DEVICES. 
- Underlying operating system differences, e.g. Windows vs Ubuntu vs MacOS. 
- Architecture differences, e.g. x86 vs ARM. 
 
Managing Remote Locations#
Before you can work on a remote ___location, you must install AI Workbench on the system and then connect it to your local Workbench.
Setting Up a Remote Location#
There are two ways to setup a remote Workbench ___location:
- Manually Add a Remote Location: SSH into a remote system and run a command to install AI Workbench - then connect to your local Workbench using SSH information 
- Brev: Configure the Brev integration, create an instance on Brev, and click a button to connect to your local Workbench 
Activating a Remote Location#
Once a remote ___location is added to your local Workbench, you just click on the ___location name to activate it and start working.
- All connected locations are visible in the My Locations view 
- Activating a ___location may fail if the SSH connection has changed or the remote system is not running 
Deleting a Remote Location#
Delete a remote ___location by clicking the option dots on the ___location entry.
- Do this from Manage Locations (“My Locations”) 
- This does not delete the remote system or the projects on it 
- As long as the remote system is still running, you can re-add the remote ___location at any time 
FAQs#
Can I use a remote Windows desktop as a remote ___location?#
Not directly. Windows Subsystem for Linux (WSL) made a recent change that supports this, but we’ve not yet implemented it by default.
You may be able to sort it out by yourself though.
Why do I need a remote ___location?#
There are various reasons why you might want to use a remote ___location, including:
- Access to more CPU and GPU compute power and storage. 
- The data you want to use is on a remote system and is too large to transfer to your local system. 
- You aren’t allowed to do work locally, i.e. your company’s IT policy. 
How does Workbench handle the connection to a remote ___location?#
When you connect a remote ___location to your local Workbench, the following is enabled:
- AI Workbench establishes a secure SSH tunnel between your local machine and the remote AI Workbench service - Starting a remote Workbench session will automatically start the SSH tunnel 
- Stopping a remote Workbench session will automatically stop the SSH tunnel 
 
- Opening a project and starting an application in the project will automatically start another SSH tunnel - A proxy service is used to properly route the connection to the application 
 
For more details, see Manually Add a Remote Location.
What happens to the projects on a remote ___location when I delete the ___location?#
Nothing. Removing the ___location just removes the SSH connection. It doesn’t affect the actual remote system.
Can I connect to and manage remote locations with the CLI?#
Yes. You can connect to and manage remote locations with the CLI.
Consult the CLI help menu for more details: nvwb --help.