Skip to content

Repository files navigation

Adaptive Persistent Kernels on Ampere

Question. ExpertPlex does bounded tile-level preemption inside a persistent kernel with Hopper primitives: thread-block clusters, DSMEM, and TMA multicast. These do not exist below sm_90. What preemption granularity, cost, and safety are possible without them?

Answer. Bounded preemption works on Ampere. Claim N1 holds on both pre-registered axes. The full results are in RESULTS.md.

AI use

AI tools (Claude) assisted with code and documentation. The developer directed, reviewed, and verified all work. No measured number comes from a model: every result comes from the instruments in src/, gated by pre-registered thresholds (CLAIM.md), float64 references, sanitizer runs, and reproduction on a second GPU.

Status. Phases 1 to 5 complete. The writeup remains. Phase 6 (real model) is optional.

Phase Measurement Result
1 Tile calibration K = 32 to 128 gives 6.7 to 17.8 us per tile at 1200 MHz
2 Baseline, no preemption Urgent task waits 957 us (median) at full residency
3 Yield at tile boundaries 59 us median latency, 0.8% cost
4 Scaling surface, 24 cells N1 holds. Propagation stays at 1 to 3 us at all block counts
5 Mid-pipeline yield safety 0 of 10,000 yields corrupt with the drain discipline. 18.4 us median latency, in the Hopper band

Hardware. NVIDIA A10 (GA102, sm_86, 24 GB, 72 SMs). SM clock locked at 1200 MHz, confirmed under load. A second A10 reproduced the primary results within 2%.

Navigation

File Content
RESULTS.md All results, limits, and conclusions
CLAIM.md Claims N1 and A-N1 with pre-registered thresholds. Never edited after registration
BACKGROUND.md Definitions and the Hopper primitives in question
FINDINGS.md Literature facts with citations
ROADMAP.md Phases, kill criteria, and measurement rules
NOTEBOOK.md Dated run log: prediction, result, faults found
papers/ Reading index (PDFs not committed)
src/ Four binaries, one per measurement. Each file header says how to run it
scripts/ One script per measurement, plus lock_clocks.sh
results/summary/ Committed figure and surface CSV

Standard

Report what fails. Two prior repos (TransformerOp, Cornfield) set this standard. This repo keeps it: eight faults found, all recorded in the NOTEBOOK, none deleted.

About

Measuring bounded tile-level preemption in persistent CUDA kernels on Ampere

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages