Repository navigation
fix(server): fit the Qwen3.6-27B h100 NEXTN profile on one H100 - #816
Merged
Merged
Conversation
The h100 profile could not start on an H100 80GB: SGLang exited with "Not enough memory" while sizing its pools at mem_fraction_static 0.93. NEXTN reserves intermediate mamba state for every running request and draft token, about 0.14 GB per request per token for this model. With SGLang's speculative default of 48 running requests and four draft tokens that is about 27.5 GB, more than the 26.93 GB left after the 51.05 GB of BF16 weights, so no fraction fits. Capping running requests at 8 lets the pools fit at 0.93, but the NEXTN draft then needs 5.53 GB to load (its embedding and head are allocated before they are shared) and only 4.64 GB remained. Measured on one H100 80GB with SGLang 0.5.10.post1, the profile now runs with mem_fraction_static 0.88 and --max-running-requests 8: 42 mamba slots, a 113,971-token KV pool, the draft loaded with 2.54 GB to spare, and through sie-server it served 8 concurrent requests and a 7,027-token prompt alongside 7 short ones. The model-card 3/4 draft, the 8K context and the KV budget are unchanged. The measurement is recorded in the YAML.
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.
Qwen/Qwen3.6-27B:h100does not start in the published 0.10.1cuda12-sglangimage on an H100 80GB. SGLang exits withNot enough memory. Please try to increase --mem-fraction-static. Current value: mem_fraction_static=0.93while sizing its pools, and the server reports exit code -9. The compatibility matrix for 0.10.1 records the profile as unsupported for this reason.Cause. NEXTN on this hybrid Gated-DeltaNet model reserves intermediate mamba state for every running request and draft token, about 0.14 GB per request per token. The profile set no running-request limit, so SGLang used its speculative default of 48. With four draft tokens that reservation is about 27.5 GB. Only 26.93 GB is left after the 51.05 GB of BF16 weights, so no fraction can fit it.
Measurements. All runs used one H100 80GB, with SGLang 0.5.10.post1, torch 2.9.1 and transformers 5.3.0, the versions in the 0.10.1 image. Each was served through
sie-serverfrom this branch.mem_fraction_staticNot enough memoryWith the committed YAML, the profile served:
Change. The
h100profile now usesmem_fraction_static: 0.88and--max-running-requests 8, and the measurement is recorded next to it in the YAML. Nothing else changes: the model-card 3/4 NEXTN draft, the 8K context and the 32,768-token KV budget stay as they were. The cap is far above what this profile uses. Speculative decoding here is tuned for latency and does not batch, and the KV pool still holds more than three times the profile's KV budget.Qwen3.8-27B-FP8uses the same flag to bound its launch shapes.Validation.
--max-running-requestsis in the SGLang 0.5.10.post1 flag snapshot.Summary by CodeRabbit