Files
project_6_baseline5/PIPELINE_STATUS.md

87 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# muh Pipeline Status — Ground Truth
**Last verified**: 2026-08-07T01:45:31Z by automated analysis
## Architecture Summary
```
CCCL policy_selector(compute_capability) → ReducePolicy{threads, items, vec, algo, load_mod}
↕ mirrors
muh policy_selector(hardware_capability) → same struct types, BI-V100 values
↕ gen_patch.py extracts bi100_* values
vllm patch_ops.sh → full-file Python replacements with tuning values baked in
```
## Injection Reality
### What gen_patch.py THINKS (csrc/*.cu — DEAD)
```
tuning_reduce.cuh → csrc/attention/attention_kernels.cu NUM_THREADS ← NO .cu SOURCE
tuning_scan.cuh → csrc/attention/paged_attention_v1.cu SCAN_BLOCK_SIZE ← NO .cu SOURCE
tuning_topk.cuh → csrc/sampling/sampling_kernels.cu SAMPLING_BLOCK_SIZE ← NO .cu SOURCE
```
### What ACTUALLY happens (Python runtime — ALIVE)
```
_custom_ops.py → SMEM 49152 (was 32768) ← DEPLOYED ✓
paged_attn.py → _PARTITION_SIZE=512 ← DEPLOYED ✓ (V2 partition, NOT CTA tile)
xformers.py → _Q_CHUNK=256, sdpa_fallback ← DEPLOYED ✓
sampler.py → torch.topk fast path ← DEPLOYED ✓
prefix_prefill.py → Triton BLOCK_M/N/warps ← DEPLOYED ✓ (but Triton not available)
computility-run.yaml → vllm server args ← DEPLOYED ✓
```
### The Gap
muh C++ headers define precise per-type-per-op tuning values (14 reduce structs, 22 scan structs).
But the vllm engine on BI-V100 runs ixformer .so (precompiled, not tunable) + Python fallbacks.
The C++ headers' values cannot be injected into the precompiled .so.
They CAN inform:
1. Python fallback implementations (paged_attn.py, xformers.py) — tile sizes, chunk sizes
2. Triton JIT configs — if Triton were available (it's not on BI-V100 base image)
3. Future EngineX releases that expose tuning knobs
## Asset Inventory
| Asset | Count | Status |
|-------|-------|--------|
| CCCL tuning headers (upstream) | 27 | Complete |
| muh BI-V100 headers | 27 | Complete (14 reduce + 22 scan + others) |
| muh schema YAMLs | 27 | Complete |
| CUB benchmarks | 91 | Synced to NVIDIA/cccl main |
| CUB tests | 243 | Complete |
| CUB examples | 18 | Complete |
| Thrust examples | 60 | Complete |
| Deployed patches | 15 files | Via patch_ops.sh full replacement |
| bench_bi100.py search spaces | 5 algos | Defined, needs BI-V100 hardware to run |
## Tool Chain Status
| Tool | Input | Output | Status |
|------|-------|--------|--------|
| parse.py | baseline.muh | JSON config | ✓ Working |
| gen_patch.py | tuning_*.cuh | Patch report | ⚠ Reports structs but generates 0 patches (injection mapping mismatch) |
| gen_yaml.py | baseline.muh | computility-run.yaml | ✓ Working |
| bench_bi100.py | algo+dtype | CCCL-format speedup data | Needs BI-V100 hardware |
| patch_ops.sh | qwen3_6_scripts/ | Docker vllm patches | ✓ Working |
| muh_dispatch.py | hw+dtype+head_dim | AttentionConfig | ✓ Working (needs torch) |
| scale_mem_bound | (threads, items, type_size) | (items, threads) | ✓ CCCL parity verified |
## Critical Numbers
| Metric | Competition Threshold | Current Status |
|--------|----------------------|----------------|
| Functional tests | 50+ pass | 13 items In Progress (all FEA) |
| Effect deviation | ≤ ±4% | Untested (needs hardware) |
| Token throughput weighted | ≥ 8000 | Untested |
| Output TPS weight | 83% (×16.796) | Reduce/scan/topk optimization focus |
| SMEM limit | 49152 bytes | All 36 scan+reduce structs verified ✓ |
| SM count | 16 (confirmed) | All headers updated |
## Next Actions (Ranked by Competition Impact)
1. **Run bench_bi100.py on BI-V100** → get real speedup data for reduce/scan/topk
2. **Backfill speedup data to muh headers** → replace TBD/theoretical values
3. **Optimize Python fallback tile sizes** → paged_attn.py, xformers.py Q_CHUNK
4. **Tune computility-run.yaml** → max-num-seqs, max-batched-tokens, gpu-mem-util
5. **Enable prefix caching benchmark** → cached_tokens > 0 for repeat prompts