DGX Dashboard
Monitor your DGX system and launch JupyterLab
Access DGX Dashboard
Choose one of the following methods to access the DGX Dashboard web interface:
Option A: Desktop shortcut (local access)
If you have physical or remote desktop access to the Spark device:
- Log into the Ubuntu Desktop environment on your Spark device
- Open the Ubuntu app launcher by clicking on the bottom left corner of the screen
- Click on the DGX Dashboard shortcut in the app launcher
- The dashboard will open in your default web browser at
http://localhost:11000
Option B: NVIDIA Sync (recommended for remote access)
If you have NVIDIA Sync installed on your local machine:
- Click the NVIDIA Sync icon in your system tray
- Select your Spark device from the device list
- Click "Connect"
- Click "DGX Dashboard" to launch the dashboard
- The dashboard will open in your default web browser at
http://localhost:11000using an automatic SSH tunnel
Don't have NVIDIA Sync? Install it here
Option C: Manual SSH tunnels
For manual remote access without NVIDIA Sync you must first manually configure an SSH tunnel.
You must open a tunnel for the Dashboard server (port 11000) and for JupyterLab if you want to access it remotely. Each user account will have a different assigned port number for JupyterLab.
- Check your assigned JupyterLab port by SSH-ing into the Spark device and running the following command:
cat /opt/nvidia/dgx-dashboard-service/jupyterlab_ports.yaml
- Look for your username and note the assigned port number
- Create a new SSH tunnel including both ports:
ssh -L 11000:localhost:11000 -L <ASSIGNED_PORT>:localhost:<ASSIGNED_PORT> <USERNAME>@<SPARK_DEVICE_IP>
Replace <USERNAME> with your Spark device username and <SPARK_DEVICE_IP> with the device's IP address.
Replace <ASSIGNED_PORT> with the port number from the YAML file.
Open your web browser and navigate to http://localhost:11000.
Log into DGX Dashboard
Once the dashboard loads in your browser:
- Enter your Spark device system username in the username field
- Enter your system password in the password field
- Click "Login" to access the dashboard interface
You should see the main dashboard with panels for JupyterLab management, system monitoring, and settings.
Launch JupyterLab instance
Create and start a JupyterLab environment:
- Click the "Start" button in the right panel
- Monitor the status as it transitions through: Starting → Preparing → Running
- Wait for the status to show "Running" (this may take several minutes on first launch)
- Once "Running", if Jupyterlab does not automatically open in your browser (a pop-up was blocked), you can click the "Open In Browser" button
When starting, a default working directory (/home/requirements.txt file that is created in the working directory.
In the future, you can change the working directory, creating a new isolated environment, by clicking the "Stop" button, changing the path to the new working directory and then clicking the "Start" button again.
Test with sample AI workload
Verify your setup by running a simple Stable Diffusion XL image generation example:
- In JupyterLab, create a new notebook: File → New → Notebook
- Click "Python 3 (ipykernel)" to create the notebook
- Add a new cell and paste the following code:
import warnings
warnings.filterwarnings('ignore', message='.*cuda capability.*')
import tqdm.auto
tqdm.auto.tqdm = tqdm.std.tqdm
from diffusers import DiffusionPipeline
import torch
from PIL import Image
from datetime import datetime
from IPython.display import display
# --- Model setup ---
MODEL_ID = "stabilityai/stable-diffusion-xl-base-1.0"
dtype = torch.float16 if torch.cuda.is_available() else torch.float32
pipe = DiffusionPipeline.from_pretrained(
MODEL_ID,
torch_dtype=dtype,
variant="fp16" if dtype==torch.float16 else None,
)
pipe = pipe.to("cuda" if torch.cuda.is_available() else "cpu")
# --- Prompt setup ---
prompt = "a cozy modern reading nook with a big window, soft natural light, photorealistic"
negative_prompt = "low quality, blurry, distorted, text, watermark"
# --- Generation settings ---
height = 1024
width = 1024
steps = 30
guidance = 7.0
# --- Generate ---
result = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
num_inference_steps=steps,
guidance_scale=guidance,
height=height,
width=width,
)
# --- Save to file ---
image: Image.Image = result.images[0]
display(image)
image.save(f"sdxl_output.png")
print(f"Saved image as sdxl_output.png")
- Run the cell (Shift+Enter or click the Run button)
- The notebook will download the model and generate an image (first run may take several minutes)
Monitor GPU utilization
While the image generation is running:
- Switch back to the DGX Dashboard tab in your browser
- Observe the GPU telemetry data in the monitoring panels
Stop JupyterLab instance
When finished with your session:
- Return to the main DGX Dashboard tab
- Click the "Stop" button in the JupyterLab panel
- Confirm the status changes from "Running" to "Stopped"
Manage system updates
If system updates are available it will be indicated by a banner or on the Settings page.
From the Settings page, under the "Updates" tab:
- Click "Update" to open the confirmation dialog
- Click "Update Now" to initiate the update process
- Wait for the update to complete and your device to reboot
WARNING
System updates will upgrade packages, firmware if available, and trigger a reboot. Save your work before proceeding.
Cleanup and rollback
To clean up resources and return system to original state:
- Stop any running JupyterLab instances via dashboard
- Delete the JupyterLab working directory
WARNING
If you ran system updates, the only rollback is to restore from a system backup or recovery media.
No permanent changes are made to the system during normal dashboard usage.
Next steps
Now that you have DGX Dashboard configured, you can:
- Create additional JupyterLab environments for different projects
- Use the dashboard to manage system maintenance and updates