NVIDIA
Explore
Models
Blueprints
GPUs
Docs
Terms of Use
Privacy Policy
Your Privacy Choices
Contact

Copyright © 2025 NVIDIA Corporation

View All Playbooks
View All Playbooks

onboarding

  • Set Up Local Network Access
  • Open WebUI with Ollama

data-science

  • Optimized JAX
  • Text to Knowledge Graph

tools

  • Comfy UI
  • DGX Dashboard
  • VS Code
  • RAG application in AI Workbench
  • Set up Tailscale on your Spark

fine-tuning

  • FLUX.1 Dreambooth LoRA Fine-tuning
  • LLaMA Factory
  • Fine-tune with NeMo
  • Fine tune with Pytorch
  • Unsloth on DGX Spark
  • Vision-Language Model Fine-tuning

use-case

  • Build and Deploy a Multi-Agent Chatbot
  • NCCL for Two Sparks
  • Connect Two Sparks
  • Video Search and Summarization

inference

  • Multi-modal Inference
  • NIM on Spark
  • NVFP4 Quantization
  • Speculative Decoding
  • TRT LLM for Inference
  • Install and Use vLLM for Inference

DGX Dashboard

30 MIN

Monitor your DGX system and launch JupyterLab

View on GitHub

Step 1
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:

  1. Log into the Ubuntu Desktop environment on your Spark device
  2. Open the Ubuntu app launcher by clicking on the bottom left corner of the screen
  3. Click on the DGX Dashboard shortcut in the app launcher
  4. 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:

  1. Click the NVIDIA Sync icon in your system tray
  2. Select your Spark device from the device list
  3. Click "Connect"
  4. Click "DGX Dashboard" to launch the dashboard
  5. The dashboard will open in your default web browser at http://localhost:11000 using 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.

  1. 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
  1. Look for your username and note the assigned port number
  2. 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.

Step 2
Log into DGX Dashboard

Once the dashboard loads in your browser:

  1. Enter your Spark device system username in the username field
  2. Enter your system password in the password field
  3. Click "Login" to access the dashboard interface

You should see the main dashboard with panels for JupyterLab management, system monitoring, and settings.

Step 3
Launch JupyterLab instance

Create and start a JupyterLab environment:

  1. Click the "Start" button in the right panel
  2. Monitor the status as it transitions through: Starting → Preparing → Running
  3. Wait for the status to show "Running" (this may take several minutes on first launch)
  4. 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//jupyterlab) is created and a virtual environment is set up automatically. You can review the packages installed by looking at the 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.

Step 4
Test with sample AI workload

Verify your setup by running a simple Stable Diffusion XL image generation example:

  1. In JupyterLab, create a new notebook: File → New → Notebook
  2. Click "Python 3 (ipykernel)" to create the notebook
  3. 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")
  1. Run the cell (Shift+Enter or click the Run button)
  2. The notebook will download the model and generate an image (first run may take several minutes)

Step 5
Monitor GPU utilization

While the image generation is running:

  1. Switch back to the DGX Dashboard tab in your browser
  2. Observe the GPU telemetry data in the monitoring panels

Step 6
Stop JupyterLab instance

When finished with your session:

  1. Return to the main DGX Dashboard tab
  2. Click the "Stop" button in the JupyterLab panel
  3. Confirm the status changes from "Running" to "Stopped"

Step 7
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:

  1. Click "Update" to open the confirmation dialog
  2. Click "Update Now" to initiate the update process
  3. 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.

Step 8
Cleanup and rollback

To clean up resources and return system to original state:

  1. Stop any running JupyterLab instances via dashboard
  2. 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.

Step 9
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

Resources

  • DGX Spark Documentation
  • DGX Spark Forum