perf: A100 probe results; disable nsys CUDA event trace when supported
Build on RHEL8 / build (push) Successful in 3m51s
Build on RHEL9 / build (push) Successful in 4m6s
Run tests using data on local RHEL8 / build (push) Failing after 4m51s

- common.nsys_profile_flags(): shared nsys profile flags, adding
  --cuda-event-trace=false on nsys 2025.1+ (on by default there, it widens
  the host gaps between steps; kernel times are unchanged). nsys 2024.5
  rejects the flag, so it is detected from the help text.
- cf/run_probes.py: 3x3, 5x5, 7x7, 9x9 at 1, 4 and 8 streams.
- cf/results/A100/: Merlin7 A100 runs, f32 and f64 with lround, and f32
  with round (104e284) at 20k/2000 and 50k/3000. README lists them.
This commit is contained in:
Ferjaoui committed 2026-10-29 12:04:55 +01:00
1 parent 104e28447b
commit 3d79886178
13 files changed
+157 -5

No files matched your search

+13
View File
@@ -37,6 +37,19 @@ def _sh(cmd: str, default: str = "unknown") -> str:
except Exception:
return default
def nsys_profile_flags() -> list[str]:
"""`nsys profile` flags shared by every probe.
nsys 2025.1 traces CUDA events by default, which widens the host gaps
between steps (kernel times are unchanged). Older nsys rejects
--cuda-event-trace, so it is added only when the help text lists it.
"""
flags = ["--trace=cuda", "--sample=none", "--cpuctxsw=none",
"--force-overwrite=true"]
if "--cuda-event-trace" in _sh(f"{NSYS} profile --help 2>&1", default=""):
flags.append("--cuda-event-trace=false")
return flags
def assert_build_fresh(headers: list[str]) -> None:
"""Abort if any header (repo-relative path) is newer than the extension."""