Skip to content

Commit de85bac

Browse files
committed
Update (base update)
[ghstack-poisoned]
2 parents 408ee37 + 02bbd4f commit de85bac

97 files changed

Lines changed: 17185 additions & 845 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Confidence Scales
2+
3+
## classification_confidence (per group)
4+
5+
| Level | Meaning |
6+
|---|---|
7+
| high | Exact match to a cheat-sheet entry, or strong pattern match (same exception class + framework frames) |
8+
| med | Reasonable inference from the exception pattern |
9+
| low | Weak or generic signal — routing based on context, or guessing with no clear pattern match |
10+
11+
## new_failure_confidence (per group)
12+
13+
| Level | Meaning |
14+
|---|---|
15+
| high | Clearly a regression signature with no known variant; distinctive |
16+
| med | Plausible but could be a flake or a known-issue variant |
17+
| low | Weak, generic exception, or likely a variant of an existing known issue |
18+
19+
## shared_root_cause_confidence (per failure)
20+
21+
| Level | Meaning |
22+
|---|---|
23+
| high | Identical exception signature to the group, or same exception class + closely related message |
24+
| med | Same exception class, different message but likely related |
25+
| low | Different exception but plausibly the same bug, or grouped only by job proximity |
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Grouping Guidance
2+
3+
Goal: ONE group per root cause, not per failing job.
4+
## Common patterns
5+
6+
- **Same exception across sharded jobs**: `Fusion E2E Test (H100) - 1/4`
7+
through `4/4` all hit `MetaProxy` → one group.
8+
- **Same ImportError across test suites**: multiple jobs fail on
9+
`ImportError: cannot import name 'X'` → one group.
10+
- **Different tests, same underlying op**: `test_gemm` and `test_fused_add`
11+
both crash in the same custom op → one group if the exception chain
12+
points to the same call site.
13+
14+
## Anti-patterns
15+
16+
Do NOT group failures just because they share a job-name prefix or test
17+
directory. Group by exception signature similarity.
18+
19+
## Signature field
20+
21+
Set `signature` to the representative exception string for the group —
22+
typically `ExceptionClass: message` from the most common failure in the
23+
group. This becomes the issue summary line.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Repo Routing Cheat-Sheet
2+
3+
Match exception patterns to a repo. When multiple patterns match, prefer the more
4+
specific one.
5+
6+
The **Routing** column is always exactly one of the three canonical values, matching
7+
the `routing` field the triage workflow emits:
8+
9+
"pytorch/pytorch" | "vllm-project/vllm" | "infra"
10+
11+
The **Notes** column carries the subsystem/area and any caveats — it is context for
12+
the write-up, never a routing value. If no pattern matches, give your best guess from
13+
your repo knowledge, still using one of the three values.
14+
15+
16+
| Error pattern | Routing | Notes |
17+
|---|---|---|
18+
| **Import errors — route by source package** | | |
19+
| `ImportError` / `ModuleNotFoundError` from `torch.*` or `torch._inductor.*` | pytorch/pytorch | |
20+
| `ImportError` / `ModuleNotFoundError` from `triton.*` | pytorch/pytorch | triton |
21+
| `ImportError` / `ModuleNotFoundError` from `vllm.*` | vllm-project/vllm | |
22+
| Import errors wrapped inside `RuntimeError: Engine core initialization failed` | *(re-route)* | Unwrap to the real `ImportError` underneath, then apply the import rules above |
23+
| `torch.library.Library.impl ... already a kernel registered` | pytorch/pytorch | |
24+
| `MetaProxy` in `prims.*` / Inductor | pytorch/pytorch | Inductor |
25+
| `PassManager::run failed` inside `triton/` frames | pytorch/pytorch | triton |
26+
| `Pointer argument cannot be accessed from Triton` | pytorch/pytorch | triton |
27+
| `Cannot access data pointer of Tensor (FakeTensor…)` | pytorch/pytorch | AOTAutograd |
28+
| `_pickle.PicklingError` on triton `launcher` | pytorch/pytorch | triton + AOT cache |
29+
| `warm_artifacts_saved: got 0`, `KeyError: None` in standalone_compile | pytorch/pytorch | Inductor cache |
30+
| `assert 'no' == 'yes'` in `test_dynamic_shapes_compilation` | pytorch/pytorch | Dynamo — but rerun first if GPU was OOM |
31+
| `torch.compile with fullgraph=True found no compiled frames` (when `TORCH_COMPILE_DISABLE=1` is in env) | vllm-project/vllm | vLLM-side fix usually correct; upstream interest only if the behavior change is intentional |
32+
| `RayChannelTimeoutError` on tp≥2 ray | pytorch/pytorch | Likely torch.compile per-worker latency exceeds Ray channel timeout |
33+
| `Nondeterministic outputs detected` (B200-only) | pytorch/pytorch | Blackwell-specific kernel drift |
34+
| `assert torch.allclose(golden_output, vllm_output)` reward/PRM | pytorch/pytorch | Numerical drift from triton update |
35+
| `compare_two_settings(... cpu-offload-gb ...)` → "Results are not the same" | pytorch/pytorch | CPU↔GPU dequantize parity |
36+
| GSM8K accuracy collapses to 0.000 (not just degrades) | pytorch/pytorch | Likely worker-side crash hidden behind unpickle error |
37+
| `Generated text "X" doesn't match expected pattern "Y"` on Qwen2-VL / Qwen3-VL LoRA | pytorch/pytorch | Multimodal LoRA path numerical drift |
38+
| `AssertionError: expected size N==N, stride A==B` + `torch.ops.vllm.<X>` + "incorrect fake kernel" | vllm-project/vllm | Fake kernel returns wrong shape |
39+
| Multi-modal per-model assertions (qwen2_vl, chameleon) | vllm-project/vllm | Check vLLM first — may be torch-side once isolated |
40+
| Responses API assertion (`'incomplete' == 'completed'`) | vllm-project/vllm | |
41+
| `test_lm_eval_accuracy_v1_engine` — measured below threshold | pytorch/pytorch | Often numerical drift from a triton update, but confirm against vLLM before filing — this one can land either side |
42+
| `ValueError: Free memory on device cuda:N (X/Y GiB) … less than desired` (tagged `test_is_infra`) | infra | GPU contention — rerun the job, do not file; can cascade dozens of unrelated tests, so the real failures may be a subset |
43+
| CUDA OOM (`torch.OutOfMemoryError` / `CUDA out of memory`) in tp≥2 or B200 fusion tests (runner had ~4–5 GiB free at start) | infra | **Not** tagged `test_is_infra` (runtime OOM ≠ startup free-memory check); cross-check the same job on the same-day main build. If main OOMs the same way, it's contention — skip filing |

0 commit comments

Comments
 (0)