Skip to content

Fix/turbomind fp8 pre sm90 - #11

Open
lvhan028 wants to merge 10 commits into
mainfrom
fix/turbomind-fp8-pre-sm90
Open

Fix/turbomind fp8 pre sm90#11
lvhan028 wants to merge 10 commits into
mainfrom
fix/turbomind-fp8-pre-sm90

Conversation

@lvhan028

Copy link
Copy Markdown
Owner

No description provided.

lvhan028 and others added 8 commits August 17, 2026 17:24
* fix: harden serving request validation

* fix: preserve anthropic parser decode options
* cover Qwen3.8 preserve_thinking support

* remove 'reasoning' statement in user guide
…ltiple of uint (InternLM#4873)

* allgather fallback

* update comments

* pad lm_head to uint4
Pre-SM90 FP8 weight-only path calls BlockscaleToGroupscale, whose
kernel requires f32 input. Qwen3.5-FP8 checkpoints store block scales
as bf16, so the TM_CHECK_EQ at cast.cu:248 aborted on load. Cast to
f32 first, mirroring the native FP8 path at linear_weight.cc:164.
Drop the hard requirement that BlockscaleToGroupscale receive f32
scales. The kernel is templated on the source type, so dispatch over
both src (half/bf16/f32) and dst (half/bf16) dtypes and let the
elementwise cast happen in a single kernel launch. This removes the
intermediate bf16->f32 buffer the caller previously needed.
@lvhan028
lvhan028 force-pushed the fix/turbomind-fp8-pre-sm90 branch from 9f10393 to 33c3d66 Compare August 19, 2026 10:25
Restore tests/turbomind/linear/fixture.py and test_linear.py to their
state before 93b35f3 / 77b36a2. The source-side fixes stay; the test
additions are being reverted separately.
@lvhan028
lvhan028 force-pushed the fix/turbomind-fp8-pre-sm90 branch from 3f1f8bf to 57175eb Compare August 19, 2026 12:38
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.

2 participants