Skip to content

Commit f3e1e77

Browse files
hbarclayclaude
andcommitted
operatorx: a multi-device case is capped if any rank was
telemetry.capped on the result is the OR across ranks; ranks.capped_ranks lists which. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent c727b0f commit f3e1e77

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

‎operatorx/runners/amd/runner.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,6 @@ def run(op: Op) -> Result:
5353
per_rank = ranks.summary(metrics) # every rank's timeline and telemetry, on rank 0
5454
if per_rank is not None:
5555
metrics["ranks"] = per_rank
56+
if per_rank["capped_ranks"] and metrics.get("telemetry"):
57+
metrics["telemetry"]["capped"] = True # any rank capped caps the op
5658
return Result(op=op, metrics=metrics)

‎operatorx/runners/common/ranks.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,6 @@ def med(xs):
9595
"profile": metrics.get("profile"), "telemetry": metrics.get("telemetry")}
9696
gathered = [None] * d.get_world_size() if d.get_rank() == 0 else None
9797
d.gather_object(mine, gathered, dst=0)
98+
capped = [p["rank"] for p in gathered or () if (p.get("telemetry") or {}).get("capped")]
9899
return {"world": d.get_world_size(), "latency_us_min": med(LAST.get("min", [])),
99-
"skew_us": med(LAST.get("spread", [])), "per_rank": gathered}
100+
"skew_us": med(LAST.get("spread", [])), "capped_ranks": capped, "per_rank": gathered}

‎operatorx/runners/nvidia/runner.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,6 @@ def run(op: Op) -> Result:
6363
per_rank = ranks.summary(metrics) # every rank's timeline and telemetry, on rank 0
6464
if per_rank is not None:
6565
metrics["ranks"] = per_rank
66+
if per_rank["capped_ranks"] and metrics.get("telemetry"):
67+
metrics["telemetry"]["capped"] = True # any rank capped caps the op
6668
return Result(op=op, metrics=metrics)

0 commit comments

Comments
 (0)