From 1d26d0fbbbc24a12afa6e20d43491719e00ca995 Mon Sep 17 00:00:00 2001 From: ncclementi Date: Fri, 10 Jul 2026 17:45:21 -0400 Subject: [PATCH 1/2] add order to content --- setup.md => 1-setup.md | 0 environments.md => 2-environments.md | 0 rapids-cli-verify-environment.md => 3-rapids-cli-verify-env.md | 0 accel-examples-profiling.md => 4-acceleration-examples.md | 0 monitoring-and-debugging.md => 5-monitoring-and-debugging.md | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename setup.md => 1-setup.md (100%) rename environments.md => 2-environments.md (100%) rename rapids-cli-verify-environment.md => 3-rapids-cli-verify-env.md (100%) rename accel-examples-profiling.md => 4-acceleration-examples.md (100%) rename monitoring-and-debugging.md => 5-monitoring-and-debugging.md (100%) diff --git a/setup.md b/1-setup.md similarity index 100% rename from setup.md rename to 1-setup.md diff --git a/environments.md b/2-environments.md similarity index 100% rename from environments.md rename to 2-environments.md diff --git a/rapids-cli-verify-environment.md b/3-rapids-cli-verify-env.md similarity index 100% rename from rapids-cli-verify-environment.md rename to 3-rapids-cli-verify-env.md diff --git a/accel-examples-profiling.md b/4-acceleration-examples.md similarity index 100% rename from accel-examples-profiling.md rename to 4-acceleration-examples.md diff --git a/monitoring-and-debugging.md b/5-monitoring-and-debugging.md similarity index 100% rename from monitoring-and-debugging.md rename to 5-monitoring-and-debugging.md From 776317a3e4272a109ffe76e558b97104046d2f8e Mon Sep 17 00:00:00 2001 From: ncclementi Date: Fri, 10 Jul 2026 17:57:42 -0400 Subject: [PATCH 2/2] update readme --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d7d7d62..b278f79 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,53 @@ This repository contains materials for the tutorial: For the in-person version of this tutorial we will use [NVIDIA Brev](https://brev.nvidia.com/) -#### Content +### Content -| module | Link | + +| Module | Link | | --- | --- | +| 1 - Setup Brev | [1-setup.md](1-setup.md) | +| 2 - Setting Up Your GPU Python Environment | [2-environments.md](2-environments.md) | +| 3 - Verifying Your Environment with the RAPIDS CLI | [3-rapids-cli-verify-env.md](3-rapids-cli-verify-env.md) | +| 4 - Easy GPU Acceleration Wins with RAPIDS Accelerators | [4-acceleration-examples.md](4-acceleration-examples.md) | +| 5 - Monitoring and Debugging GPU Python Workloads | [5-monitoring-and-debugging.md](5-monitoring-and-debugging.md) | + +### 1-Setup Brev + +- Covers how to get access to a cloud GPU using [NVIDIA Brev](https://brev.nvidia.com). +- Walks through launching a VM (choosing GPU type, provider, and deploying). +- Explains how to connect to the VM via SSH using the `brev` CLI on macOS, Linux, and Windows. + +### 2-Setting Up Your GPU Python Environment + +- Guides users through installing Python packages for GPU workloads. +- Supports three package managers: `uv`/`pip`, `conda`, and `pixi` via config files (`pyproject.toml`, `environment.yaml`, `pixi.toml`) to manage dependencies— pick one and follow that path. +- Covers checking for core CUDA libraries and creating isolated, reproducible environments. + +### 3-Verifying Your Environment with the RAPIDS CLI + +- Introduces two commands to validate a GPU environment after setup: `rapids doctor` and `rapids debug`. +- `rapids doctor` runs health checks on the driver, CUDA toolkit, GPU compute capability, and NVLink. +- Failed checks return actionable messages explaining how to fix the issue. +- Showcases how libraries can register their own checks, using `cuml` as an example. +- `rapids debug` produces a full snapshot of driver versions, installed packages, and build tools. +- `rapids debug --json` outputs a machine-readable version, useful for bug reports and sharing environment state. + +### 4-Easy GPU Acceleration Wins with RAPIDS Accelerators + +- Shows how to get GPU speedups on existing Python code with zero rewrites. +- Shows how to use the accelerators via command line and in notebooks. +- Discusses built-in `--profile` and `--line-profile` flags show which operations ran on the GPU vs. CPU. +- Introduces JupyterLab NVDashboard GPU Accelerators toggle that enables the same zero-code acceleration interactively in notebooks. + +### 5-Monitoring and Debugging GPU Python Workloads + +- A hands-on diagnostic guide for when GPU code runs but doesn't deliver the expected speedup. +- Covers a progression of tools, each answering a different question about what the GPU is doing. +- `nvidia-smi` and `nvtop` confirm driver-level visibility and live GPU utilization. +- `cProfile` + `SnakeViz` identify CPU-side bottlenecks before any GPU work begins. +- Nsight Systems (`nsys`) produces a full CPU/GPU timeline showing transfers, kernel launches, and idle gaps. +- Uses a real climate data workload (`xarray` EOF analysis) to walk through two common pitfalls: + - Moving data back to the CPU before the expensive operation. + - Naively porting a Python loop to the GPU, causing thousands of tiny kernel launches. +- Shows how to identify and fix both issues using profiler output and CUDA timeline traces.