AI Workbench Locations#
Overview#
- A location is a machine with AI Workbench installed.
Installing AI Workbench provides a managed layer on the system that simplifies creating, accessing and using containerized development environments on that machine.
- Locations provide a consistent experience regardless of the underlying operating system.
A Workbench location provides the same UI/UX regardless if it’s Windows, Mac or Ubuntu. The only differences between locations are the hardware capabilities and the projects on them.
- The Desktop App is a UI, not a location.
The Desktop App is an Electron app that runs locally to provide visibility and access to different locations. It is not the full AI Workbench application.
- A location is not a cluster and there’s no kubernetes involved.
AI Workbench runs on individual, isolated instances and there’s no notion of a “cluster”.
Key Concepts#
- Remote Only Mode:
The initial state on your local machine when you first install the Desktop App. You cannot work locally yet but you can add remote locations immediately.
- Full Local Install:
Optionally installing the full AI Workbench application on your local system. It includes a managed installation or updating of a variety of dependencies such as a container runtime and Git-LFS.
- Location Manager:
The main application window that opens when you start the Desktop App. It provides features to add and manage locations, and it shows cards for your existing locations.
- Local Location:
Your local machine (laptop or desktop) with the full AI Workbench application installed. It shows up as the “local” card in the Location Manager after you successfully complete the full local install.
- Remote Location:
A virtual or bare-metal machine on a network that you can access via SSH. It must have AI Workbench installed, and the operating system must be Ubuntu.
- Location Window:
A separate application window that opens when you click a location card to activate a location. It provides visibility, access and management for the projects on that specific location.
Local vs Remote#
- The “local” location is only available with the full local install.
The Desktop App lets you optionally do the full local install to get the full application. Do this if you have a local system with NVIDIA GPUs or you want to develop directly on your laptop.
- Remote locations let you work on different hardware to suit your project or workload.
Remote locations make it easy for you to “lift and shift” between machines to scale up or down.
- You can work on multiple locations at the same time.
Locations are independent, and you can work on multiple locations and projects at once.
SSH Authentication#
- AI Workbench uses SSH key-based authentication for remote locations.
This applies whether you add a location manually, through NVIDIA Sync, or through Brev. Sync and Brev generate and manage their own keys. The manual path uses your own keys.
Password-based SSH authentication is only supported by using NVIDIA Sync.
- AI Workbench manages SSH config entries automatically when you add or remove a location.
When you add a remote location, AI Workbench writes an entry to
~/.ssh/config. When you remove a location, the entry is removed.
Locations and Projects#
- Projects are portable across different locations and different users.
AI Workbench manages and supplies information about both the host and user that can’t be stored in the repository. This makes projects “just work” on different hosts for different users.
For example, a repository can’t a priori know the host architecture (ARM vs AMD 64) or user dependent environment variables (e.g. API keys), so those are included at build or runtime with information AI Workbench maintains.