Skip to content

chore: vendor the Bolt engine libs and the block-float prefill xclbin from IRON#169 (CI run 42427147350) - #984

Open
tawei-amd wants to merge 2 commits into
mainfrom
perf/bolt-speedup
Open

tawei-amd wants to merge 2 commits into
mainfrom
perf/bolt-speedup

Conversation

@tawei-amd

Copy link
Copy Markdown
Collaborator

What

Vendors the engine libs and the block-float prefill xclbin built by the IRON PR check for AMD-ROCm-Internal/FastFlowLM_IRON#169 (head eec8caeaf, CI run 42427147350, all checks green) so the three Nemotron-3.5-Bolt-E4B models get the speedups gemma4-it:e4b got in #974.

  • libgemma4e_dflash (nemotron3.5-bolt-dflash:e4b): the full prefill / vision / audio / decode work; with a draft loaded the 18 KV-shared layers run up to layer 35 over the prompt (the draft reads that layer) and the last six as one decode step.
  • libgemma4e_dflash_flash (nemotron3.5-bolt-dflash-flash:e4b): vision / audio / decode host fixes only; its flash prefill is unchanged (it is the faster choice for short prompts).
  • src/xclbins/Nemotron-3.5-Bolt-E4B-NPU2/dequant_mm_bfp.xclbin and .../Nemotron-3.5-Bolt-E4B-DFlash-NPU2/dequant_mm_bfp.xclbin (same kernel as gemma4-it:e4b). nemotron3.5-bolt:e4b already ran the new libgemma4e_npu (Gemma 4 E4B: faster prefill, decode, image and audio input (vendor IRON#167 engine libs and block-float xclbin) #974).
  • XRT and HRX, Linux and Windows (.so / .dll / .lib). Docs: prefill-speed notes on the Bolt and Bolt-DFlash cards, benchmark-page notes.

Results

CI runner, nemotron3.5-bolt:e4b prefill +42% (1k), +38% (4k), +29% (16k), decode unchanged. Local Strix Halo box, TTFT before -> after: bolt 1k 1.45 -> 0.83 s, 4k 3.57 -> 2.51 s; bolt-dflash 64 tokens 1.18 -> 0.84 s, 1k 2.39 -> 1.38 s, 4k 6.21 -> 4.14 s; image start-up -20% (bolt, bolt-dflash), audio -15..40%.
Accuracy unchanged (GSM8K, 30-item battery, needle, WER vs Whisper).

Tested on exactly these vendored files

Accuracy A/B, image/audio/WER, 20+ min stress (chunk-boundary sweep up to 8k, 4 mixed clients, disconnects, over-limit), 300-request soak, multi-slot 12 agents x 4 turns, cold first request: 0 errors, 0 mismatches on all three models (flash: only clean 400s above its ~1k prompt cap).

🤖 Generated with Claude Code

tawei-amd and others added 2 commits November 7, 2026 16:39
… from IRON#169 (CI run 42427147350)

Vendors libgemma4e_dflash and libgemma4e_dflash_flash (xrt + hrx, .so/.dll/.lib) and src/xclbins/Nemotron-3.5-Bolt-E4B-{,DFlash-}NPU2/dequant_mm_bfp.xclbin,
all built by the IRON PR check run for FastFlowLM_IRON#169 (head eec8caeaf). nemotron3.5-bolt:e4b gets the block-float prefill kernel (CI prefill +42% at 1k,
+38% at 4k, +29% at 16k); nemotron3.5-bolt-dflash:e4b gets the whole gemma4-it:e4b prefill/vision/audio/decode work; nemotron3.5-bolt-dflash-flash:e4b gets the
vision/audio/decode host fixes (its flash prefill is unchanged). Accuracy benches unchanged. Docs: prefill-speed notes on the Bolt and Bolt-DFlash cards.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e the block-float prefill speedups

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant