Skip to content

perf(gemma4e-flash, gemma4-it, nemotron3.5-bolt[-dflash]): vendor engine libs with single-context vision attention (IRON#138) - #920

Closed
tawei-amd wants to merge 1 commit into
mainfrom
perf/vision-single-ctx-libs-siblings
Closed

tawei-amd wants to merge 1 commit into
mainfrom
perf/vision-single-ctx-libs-siblings

Conversation

@tawei-amd

Copy link
Copy Markdown
Collaborator

What

Vendors the CI-built gemma4e_flash, gemma4e_dflash and gemma4e_npu engine libraries (XRT + HRX, Linux .so and Windows .dll/.lib; 18 files, nothing else) from AMD-ROCm-Internal/FastFlowLM_IRON#138 (PR Check run 41388386154, all checks green). Models: gemma4e-flash:e2b/e4b, gemma4-it:e2b/e4b, nemotron3.5-bolt:e4b, nemotron3.5-bolt-dflash:e4b.

Same change as #919 for the other Gemma4e engines: the vision encoder reconfigures the array in-stream inside the vision_mm hw_context instead of switching between the vision_mm and vision_attn hw_contexts twice per layer (~3 ms each). No xclbin changes. Linux + XRT only inside the libs; FLM_VISION_SINGLE_CTX=0 selects the old path.

Results (local, Strix Halo, XRT; 30 random image requests per model, 1-3 images each, old vs new path)

model identical outputs median server TTFT
gemma4e-flash:e2b 30/30 0.482 -> 0.407 s (-15.6%)
gemma4e-flash:e4b 30/30 0.620 -> 0.552 s (-11.0%)
gemma4-it:e2b 30/30 1.592 -> 1.534 s (-3.7%)
gemma4-it:e4b 30/30 2.123 -> 2.023 s (-4.7%)
nemotron3.5-bolt:e4b 30/30 2.126 -> 2.044 s (-3.9%)
nemotron3.5-bolt-dflash:e4b 30/30 2.138 -> 2.064 s (-3.5%)

The Linux XRT libs vendored here are bit-identical to the ones tested locally. Pressure runs (concurrent clients + client aborts) on gemma4-it:e2b and nemotron3.5-bolt:e4b: 0 failures; gemma4e-flash:e2b is intrinsically nondeterministic on some prompts on the old path too (13/160 vs 11/160 reply-set misses under the same stress). Details in the IRON PR.

Order

Draft until IRON#137 and IRON#138 are merged (and #919 for the dflash-flash lib). If review changes the IRON code the libs will be re-vendored from the new run.

🤖 Generated with Claude Code

…ine libs with single-context vision attention (IRON#138)

Vendors the CI-built gemma4e_flash, gemma4e_dflash and gemma4e_npu libraries (XRT and HRX, Linux .so and Windows .dll/.lib) from the PR Check run
https://github.com/AMD-ROCm-Internal/FastFlowLM_IRON/actions/runs/41388386154 (AMD-ROCm-Internal/FastFlowLM_IRON#138, all checks green).
Models: gemma4e-flash:e2b/e4b, gemma4-it:e2b/e4b, nemotron3.5-bolt:e4b, nemotron3.5-bolt-dflash:e4b.

Same change as #919 (IRON#137): the vision encoder reconfigures the array in-stream inside the vision_mm hw_context instead of switching
between the vision_mm and vision_attn hw_contexts twice per layer. No xclbin changes. Linux + XRT only inside the libs; FLM_VISION_SINGLE_CTX=0
selects the old path.

Local XRT, 30 random image requests per model, old vs new path: identical text on all six models; median server TTFT
gemma4e-flash:e2b 0.482 -> 0.407 s (-15.6%), e4b 0.620 -> 0.552 s (-11.0%); gemma4-it e2b -3.7%, e4b -4.7%; nemotron3.5-bolt -3.9%;
nemotron3.5-bolt-dflash -3.5%. The Linux XRT libs vendored here are bit-identical to the ones tested locally.

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

Copy link
Copy Markdown
Collaborator Author

Consolidated into #919 (will vendor all four Gemma4e engines from the CI libs of IRON#137). Closing.

@tawei-amd tawei-amd closed this Nov 2, 2026
tawei-amd pushed a commit that referenced this pull request Nov 3, 2026
…ndor all four Gemma4e engine libs with single-context vision attention (IRON#137)

CI-built libs from IRON PR Check run 41475496041 (head 38bb0332d): gemma4e_dflash_flash,
gemma4e_flash, gemma4e_dflash, gemma4e_npu (XRT + HRX, Linux + Windows). Linux XRT libs are
byte-identical to the locally tested builds. Consolidates #920.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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