diff --git a/python/tests/perf/nsys_kernel_probe.py b/python/tests/perf/nsys_kernel_probe.py index 7d02aa09..0481a17d 100644 --- a/python/tests/perf/nsys_kernel_probe.py +++ b/python/tests/perf/nsys_kernel_probe.py @@ -19,8 +19,9 @@ n_streams, N, cdim, cap, batch = (int(a) for a in sys.argv[1:6]) f = File(common.DATA_FILE) pd = File(common.PEDESTAL_FILE) -cf = ClusterFinderCUDA((f.rows, f.cols), (cdim, cdim), n_sigma=common.N_SIGMA, - max_clusters_per_frame=cap, n_streams=n_streams) +cf = ClusterFinderCUDA((f.rows, f.cols), cluster_size=(cdim, cdim), + n_sigma=common.N_SIGMA, max_clusters_per_frame=cap, + n_streams=n_streams) for _ in range(common.N_PEDESTAL_FRAMES): cf.push_pedestal_frame(pd.read_frame().copy()) diff --git a/python/tests/perf/run_probes.py b/python/tests/perf/run_probes.py index 17a07d85..7f6e4709 100644 --- a/python/tests/perf/run_probes.py +++ b/python/tests/perf/run_probes.py @@ -51,8 +51,11 @@ def run_one(cdim, cap, streams, label, n_frames, batch, outdir) -> dict | None: for line in p.stdout.splitlines(): if line.strip().startswith(("n_streams", "H2D/frame", "wall")): print(" ", line.strip()) - if not rep.with_suffix(".nsys-rep").exists(): - print(f" FAILED: {p.stderr.strip()[-400:]}") + # nsys writes a report even when the traced process crashes, and returns + # the child's exit code: check it, or a dead probe surfaces later as a + # missing CUPTI table in the export. + if p.returncode != 0 or not rep.with_suffix(".nsys-rep").exists(): + print(f" FAILED (exit {p.returncode}): {p.stderr.strip()[-400:]}") return None subprocess.run([common.NSYS, "stats", "--force-export=true", "--report",