Uh oh!
There was an error while loading. Please reload this page.
Problem fixes - #16
Conversation
Willy-Chan
commented
Jul 27, 2026
- Triton integration - allowing for models to write triton + UVA.
- Expanded credits
- Fable 5 fixes - TODO a deep review of the model's critiques and changes.
Every problem keeps its slot; references and input generators are fixed so each one tests a genuinely different multi-GPU kernel skill: - 19/20 (blocked fp8 quant/dequant): references were already Triton kernels, contradicting the PyTorch+NCCL-reference premise; rewritten in pure PyTorch. 20's generator now produces genuinely quantized inputs (positive per-block absmax scales) instead of randn scales. - 26 (moe_token_preprocess): split metadata stays on-device instead of being returned via .tolist()/CPU copies. - 30 (moe_epgroupgemm_lora_backward): was three bare all_reduces (problem 1 x3, misnamed); now computes shared LoRA adapter grads via ragged grouped GEMMs over local experts + EP all-reduce, without mutating inputs. - 34 (ulysses all-gather primitive): was byte-identical to problem 2; now gathers along dim 1 (Ulysses sequence dim), forcing gather+reorder fusion. - 41/42: header comments making the ZeRO-1 vs ZeRO-2 comm-pattern pair explicit. - 44/52/53 (quantized comms): previously quantize->dequantize locally then bf16 collective, so the named technique was untestable; now int8/fp8 payloads and scales actually cross the wire (two-phase quantized all-reduce, fp8 all-to-all reduce-scatter, fp8 all-gather). - 49 (moe_ep_balanced): was byte-identical code to 31/50; now the static capacity-based balanced dispatch (fixed equal splits, zero host-side size exchange, drop/pad to capacity). - 50 (moe_ep_wide): now hosts genuinely distinct per-local-expert weights (stacked tensors) with a ragged grouped-GEMM expert stage. - 63 (deepmd kalman): fp32 instead of f64, no all_gather_object, no in-place mutation of inputs (which drifted across timed iterations), weight exchange via one fixed-size all_gather_into_tensor. - 64 (gnn_neighbor_sampling): reference was a per-node host loop with .item() syncs and np.unique on CPU over a perfectly regular synthetic graph; now fully vectorized on-device (deterministic first-k selection) over an irregular random graph with random per-rank seed frontiers. - 78 (tile-parallel VAE decode): all_gather_object shape exchange replaced with tensor-based exchange, payload duplication (repeat(world_size) + all_to_all) replaced with a padded all-gather, Python blend loops vectorized with broadcast ramps. - 82: trailing-whitespace cleanup. - 83/84 (chunked log-prob top-k): longer sequences and larger vocab so the chunked pipeline (the point of these variants vs 82) processes many chunks. - 24 (load_balancing_loss_fn): generator now feeds multi-layer gate-logit tuples plus a real attention mask so the masked normalization path is exercised and there is meaningful device compute ahead of the scalar all-reduce. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Broly Security ScanNote Baseline snapshot is missing for this repo. Broly is running in PR-only fallback mode until the first scheduled baseline completes. This does not block the PR. Note ✅ Clean scan Note Re-scan this PR anytime with
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |