Repository navigation
serve: Hadamard-rotated files run 1024-token micro-batches - #205
Merged
Merged
Conversation
llama-bench, Qwen3-Coder-30B-A3B Q4_0-H32, W4A4: pp2048 2,001 -> 2,158, pp16384 1,227 -> 1,283 (ub 2048 is no better); decode unchanged (79.2, 49.8 at 16K depth). Through `1bit serve --long-model`, server prefill 2,000/1,607/1,221 -> 2,217/1,742/1,295 at 2K/8K/16K; 16K TTFT 12.96 s. hadamard_route.sh checks the flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Docs7 for 1bit-monster/engine
Commit |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
bong-water-water-bong
added a commit
that referenced
this pull request
Sep 29, 2026
#229) Qwen3.8-27B-H32 through `1bit serve --dflash`, 1,838-token prompt: 445 -> 477 tok/s best (439 -> 472 median; 497 without a drafter), decode unchanged (41.1 / 26.7 / 15.0 tok/s code / prose / short). - ROCmFPX pin -> b82c8b8 (ROCmFPX#4): the chunked delta-net prefill kernel writes the rollback snapshots speculative decoding keeps, so a drafter no longer drops prompts onto the per-token kernel; layer inputs land at their micro-batch's offset, so the DFlash encoder reads the right hidden states on prompts longer than one micro-batch. - serve --dflash drafts the drafter's dflash.block_size - 1 tokens (16 when the file does not say) instead of 16. That is also the rollback depth: 16 against DFlash2's block of 8 wrote twice the snapshots. - -ub 1024 (#205) only for rotated MoE files: the dense 27B serves 491-495 tok/s with 512 and 471-473 with 1024. - tests/hadamard_route.sh: dense/MoE micro-batch and block-size cases (13/13). - docs/lean.md, docs/serve.md, README status, site description. Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
added a commit
that referenced
this pull request
Sep 29, 2026
…a, every number measured (#233) The loop ROCm Hyperloom (AMD-AGI) runs on Instinct GPUs, applied to how the engine already works: the harness measures, a setting is kept with its measurement, and the next model starts from what is known. - config/recipes.json + app/recipes.{h,cpp}: tuned llama-server settings per model and route, each with why / measured / source. `1bit serve` applies the ones that match (device, architecture, MoE, Hadamard stamp, drafter), never over a flag it already set, and prints each one; --recipes FILE replaces the built-in set, --no-recipes turns them off, a malformed file stops serve with the reason. The two tuned settings that were code move in: rotated-moe-ub1024 (#205, #229) and dflash-p-min-0 (#194). What follows from the files themselves (Hadamard env, DFlash draft length) stays in code. - tools/bench.py: A/B-measures `1bit serve` configurations, interleaved rounds, the first config as the baseline in the same run, an optional box flock, best/median, JSON record. Qwen3.8-27B-H32, 2 rounds: base 494 tok/s prompt, 13.1 / 13.1 / 13.5 decode; --dflash 467 (-5.6%), 40.7 / 26.4 / 14.7. - tools/kernelforge/gdn-prefill: the delta-net prefill kernel as a KernelForge task for gfx1151 (standalone kernel, float64 oracle: 139 dB, driver with KernelForge's contract, program.md on what differs from Instinct, run.sh). - tests: recipes_route (10 checks) and bench_selftest (4) run without a GPU; fake_backend.py reports llama-server timings. - docs/recipes.md, docs/bench.md; serve.md, README, site nav point to them. Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
W4A4 prefill +6-10% for free: llama-bench pp2048 2,001 -> 2,158, pp16384 1,227 -> 1,283 (ub 2048 is no better, decode unchanged). Through
1bit serve --long-model, the 16K first token comes at 12.96 s instead of 13.89 s.tests/hadamard_route.shchecks the flag. Also measured: flash attention off drops pp16384 to 337, so llama-server's default-fa auto(on) must stay.🤖 Generated with Claude Code