Repository navigation
[Benchmark] 4x RTX 3090 / Qwen3.8-Flash-Next / UD-IQ4_XS / strata-qwen38-thinking-v1-draft.1 - #5613
Open
havok2-htwo wants to merge 1 commit into
Open
havok2-htwo wants to merge 1 commit into
havok2-htwo wants to merge 1 commit into
Conversation
…n38-thinking-v1-draft.1: stock v0.2.12 (setup config and a 16-slot config) and v0.2.12 + an opt-in patch series, 6 standard runs + multi-user custom data 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.
The title must start with its area: [Engine], [GUI], [TUI], [Benchmark], [Docs] or [Other], for example "[Engine] fix decode stop on long prompts" or "[GUI] keep the model list after a tab switch".
Problem and result
bench/resultshas no 4x RTX 3090 multi-user report yet. TEST_REQUESTS.md lists "Three or four NVIDIA GPUs" as a wanted test (#880). This PR adds results only. It has no engine change, makes no speed claim and proposes nothing for the README headlines.Three arms were measured on one machine on 2026-11-08, interleaved, each on a freshly loaded server. All arms use the same model files, the same expert profile (same SHA-256) and the same chat template (same SHA-256):
146df3c4) assetupwrites it for this box: 128K context,--batch 3,--prefill auto,--layer-split auto, int8 KV, MTP, vision off.--prefill 512,--layer-split 12,25,37, resident experts, conversation and prompt cache, the vision encoder loaded on the CPU, the stock sm_86 default table. Bit-changing defaults are pinned off.a099d295, 56 commits on146df3c4). It uses the same args as C plus the series' engine switches, and runs with the series' server.Run order: C, PT, S, C-r2, PT-r2, S-r2.
Standard protocol (
strata bench run, required stage plus--optional-concurrency,--track custom). All six runs arecompleteand score 12/12 on sanity. The table shows medians from run 1. Run 2 is within 2 % on every value shown, except S's c4 burst rounds 2 and 3 (184 / 184 tok/s in run 2).Multi-user, custom harness. Greedy (temperature 0), with
sampling.presence_penalty: 0in every arm's config. Values are the mean of 2 runs per arm, or the range where both runs are shown.tools/piped_read_join_bench.py): worst stream gap / joiner TTFT (s)tools/strata_bench.py --clients 16 --long, 16 clients, tok/s, median (range) of 3 runs, first server start onlyHow to read this:
--prefill 512and the caches. With the stock engine, C already gets +145 % (short) and +130 % (long) over S.strata_bench.pyat 16 clients is -3 %, inside the overlap of the two arms' run ranges.Related discussion
autotoo 4X gain in the prefill in 4 way ring #880 / TEST_REQUESTS.md: multi-GPU NVIDIA reports.presence_penalty, including a temperature-0 request, gets the model card's 1.5. That turns off MTP drafting and the pipelined paths.sampling.presence_penalty: 0in the config, so neither stock nor PT is penalised. This covers our harness,strata_bench.pyandpiped_read_join_bench.py.strata bench runsends 0 explicitly and is unaffected.df44bcb7). Its benchmark numbers never got abench/resultsfolder. This report adds current numbers for that kind of setup.Approach
One fresh server per arm, with the standard runner first. Each arm's server started fresh. Its first workload was
strata bench run --profile <arm> --no-start --optional-concurrency --track custom. After that it ran, in order:tools/strata_bench.py --runs 3 --clients 16 --long(first start of each arm only);bench_concurrency.py: 1/2/4/8/16 users, short and long prompts, 2 requests x 512 tokens per user;bench_multiturn.py: 16 users x 3 turns, 8K document plus 3K per turn, 400 output tokens;tools/piped_read_join_bench.py --scenarios cold32k.Two stock baselines:
setup.--batch 3), so the PT-C delta shows only the part that is not yet upstream.Env differences between PT and C (full lists in each run's
results.json, underconfiguration.experimental_options):ATTN_DAILY=0+QSA_SLOTS_STREAM=1;CONV_MMAP,CONV_TIER_*,EARLY_SAMPLE,GATE_EVICT,GIVEBACK_CHECKS,GR_DOWN_PF=2,MROPE_SLOTS,MSG_CKPT_TAIL=8192;PARK_BORROW,PARK_CAPTURE,PIPE_OVERLAP(+_KVS),READ_YIELD,SERVE_STOP_BOUND,SLOT_CHAIN_REUSE,SLOT_PARK,SOLO_PIPELINE,SPEC_LANES=4.ADMIT_SHORT_FIRST=8192. PT's server addsADMIT_BY_NEW,YIELD_SHORT=2048,YIELDS_MAX=4andPREFIX_DIAG(diagnostics only).Hardware:
auto; C/PT:12,25,37);Software: Ubuntu 24.04.5, kernel 7.0.0-38, driver 580.196.07, CUDA 13.0. Both binaries are source builds with CUDA 13.0, sm_86,
STRATA_MMQ_TAB=ON,NATIVE_EXPERTS=ON,Q6K_EXPERTS=ONandMMQ_KQUANTS=ON. The engine reports version 0.1.58 in all arms.Model files:
Qwen3.8-Flash-Next-UD-IQ4_XS-00001-of-00003.gguf5ce89370720f8bf9...Qwen3.8-Flash-Next-UD-IQ4_XS-00002-of-00003.gguf577a38a2392b40ca...Qwen3.8-Flash-Next-UD-IQ4_XS-00003-of-00003.ggufd4634e6d84f0ebb0...expert-profile.bin(same in all arms)8f59b4aa8873209d...The full hashes are in
results.json.Validation
Passed:
strata bench run: all six runs arecomplete, with 12/12 on sanity each.146df3c4, runse32ea56band8be2bf4a;146df3c4, runseb4f9649andbe712cdc;a099d295, runsd8cef8bband45387cb6.e75eff8b...match.server_requests_before_run: 0).batch_test16/16 in both solo and batch mode.Failed:
batch_overlaptest failed on PT (ERR BGEN: no such free slot). This is still open.Not run:
batch_testengine identity and the GPU ctest in this window: switched off for time. Here, the only identity evidence for PT vs C is the HTTP greedy reply comparison.Limits
strata_bench.pyat 16 clients is -3 %, inside the overlap of the run ranges.memory.peak, recorded by our window script, not indata/) is 90-101 GiB, against 82-93 GiB for C.draft.1). The model-card, tokenizer, source-model and quant-repo revisions arenull, each with a reason.Files and post-run edits
bench/results/2026-11-08-standard-4x-rtx-3090-<run id>/(6 folders): the runner'sREADME.md,results.json,config.json,outputs.jsonlandprovenance/, plusengine.log(the engine's log from boot to the end of the standard run, the server's first workload) andprovenance/launch-config.json(the launch config with env and server env).bench/results/2026-11-08-community-4x-rtx-3090-multiuser/: the custom-track data in the community format (README.md,FIELDS.mdwith fields and units,data/,scripts/,strata_bench/).<run dir>,<packs>,<private path>, ...);--conversation-cache-min-tokensrestored from<redacted>to its value1024; an internal window label removed from the track notes;engine.logandprovenance/launch-config.jsonadded toartifacts[], and every artifact SHA-256 recomputed.strata bench reportre-validates all six folders (complete, 12/12 sanity). The originalresults.jsonSHA-256 values:e32ea56b:c646fb87cd0c6893793ba6c8c4190ec5ea3c287b80cbee904d6b50850e01f5828be2bf4a:f19cd176891e4299a91561fa7e504f716c03fabd94b76edc9028db8a4b48d54deb4f9649:0a8f19d8d396b52fb6fa519327df614892e6fb3e920dcacd38e1463c694d8a06be712cdc:8ac3c856d6349b7be84dd901059325dd3a0dcafdb0868361772dd12dfddb05e8d8cef8bb:0b3874b384662231872fc1600b92b1eded22a3bd1dbeeca224724038938c45f945387cb6:0ab21069010496f28d62b67f9293052c4d99285fdf6b39732961cdc10ffbd183🤖 Generated with Claude Code