mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-10-31 15:41:29 +01:00
Make room for probes of other CUDA classes. common.py and gpu_span.py stay in perf/ and become shared; the cluster-finder driver, traced process, README and results move to perf/cf/. - common.py: assert_build_fresh() takes the header list, capture_env() takes extra fields, results_dir() takes the probe folder. - cf/cf_common.py: pedestal frames, n_sigma, rebuild-guard headers, DEVICE_PED_TYPE and the <date>_<f32|f64> results naming. - gpu_span.py: optional kernel-name filter; tolerates an engine with no ops. Output without a filter is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
773 B
Markdown
20 lines
773 B
Markdown
# GPU performance probes
|
|
|
|
Nsight Systems probes for the CUDA classes: per-engine GPU time per frame
|
|
(kernel, H2D, D2H), duty cycles and the roofline. One folder per class, each
|
|
with its own driver, traced process, README and `results/`:
|
|
|
|
| folder | class |
|
|
|---|---|
|
|
| [`cf/`](cf/README.md) | `ClusterFinderCUDA` |
|
|
|
|
Shared by all of them:
|
|
|
|
| file | role |
|
|
|---|---|
|
|
| `common.py` | paths (`AARE_REPO`, `AARE_BUILD`, `AARE_PERF_DATA`, `NSYS`), guards (fresh build, idle GPU), `env.json` stamp, results folder |
|
|
| `gpu_span.py` | reads an nsys SQLite export: busy time, duty cycle and roofline per engine, optionally for one kernel name only |
|
|
|
|
Requirements (a CUDA build of the Python extension, Nsight Systems, the
|
|
dataset, an idle GPU) are listed in each folder's README.
|