Concept
See src/tutorials/25_cuda_graphs/main.cu for detailed inline comments explaining
each CUDA concept, all API calls, and the ablation experiments.
Key APIs
Refer to the source file for full API usage and inline explanations.
Execution Flow
flowchart TD
A[main: load config + init logger] --> B[cudaSetDevice + print_device_info]
B --> C[Allocate host and device memory]
C --> D[Run kernel variants / ablations]
D --> E[CUDA event timing per variant]
E --> F[Log results: time, bandwidth, correctness]
F --> G[Cleanup: cudaFree + handle destroy]
G --> H[Exit 0]
Ablation Results (placeholder — fill after running on H200)
| Variant | Mean Time (ms) | Bandwidth / GFLOPS | Notes |
|---|---|---|---|
| TBD | TBD | TBD | TBD |
What to Observe in Nsight Compute
Run:
bash
ncu --set full ./build/bin/tutorial_25_cuda_graphs
Key metrics:
sm__throughput.avg.pct_of_peak_sustained_active— SM utilizationdram__bytes.sum— HBM trafficsmsp__warp_issue_stalled_long_scoreboard_per_warp— memory stallsl1tex__t_bytes_pipe_lsu_mem_global_op_ld.sum— L1/global load bytes