Repository navigation
Conversation
imanu86
added a commit
to imanu86/Strata-2080Ti
that referenced
this pull request
Oct 19, 2026
…SM75: esperti fusi int8 IQ del prefill anche su Turing (opt-in) Estende i kernel nativi IQ (gate/up IQ2_XXS, IQ2_XS, IQ2_S, IQ3_XXS, IQ3_S, IQ4_XS; down Q2_0 e IQ4_NL) a sm_75 con la forma da 128 righe, dietro STRATA_PF_FUSED=1 STRATA_PF_FUSED_SM75=1 STRATA_PF_FUSED_NATIVE_SM75=1. Le coppie non coperte restano su MMQ. Applicato pulito su 0.1.45 (sostituisce Niko1221#3085, stessa funzione con un altro gate). Cambia i bit del prefill (nb). Compilato no, installato no, provato no. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
imanu86
added a commit
to imanu86/Strata-2080Ti
that referenced
this pull request
Oct 19, 2026
, Niko1221#3104 e Niko1221#2774 e la nota su sibnick K37 (gia in 0.1.45) Patch 18-20 in stack/ (patch puliti sul capo della pila d06429e, commit di lab/multichat45b nel manifest), sezione "Leve del 19/10" in docs/MULTICHAT.md con il piano di verifica. Compilato no, installato no, provato no. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
imanu86
added a commit
to imanu86/Strata-2080Ti
that referenced
this pull request
Oct 19, 2026
Niko1221#3095, Niko1221#3104, Niko1221#2774 e la correzione dello scratch di Niko1221#2774 Compilato sm_75+86, provato con mc2.py (chat singola) e mc45b_det.py (TTFT e logit a cache fissa); installato no. Nessuna leva da accendere nel Daily: Niko1221#3095 +2,4% senza recuperare la chat singola, Niko1221#3104 +8..11% di TTFT sui prompt lunghi, Niko1221#2774 nessun guadagno; sibnick K37 gia' in 0.1.45. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Owner
|
Thanks for the pull request. We're resetting the tracker for 0.2.0-beta. There are more than 1,300 open issues and pull requests, too many for us to review properly, so we're closing everything that isn't being worked on right now. Closed here does not mean rejected. To reopen it takes about two minutes:
The rules are in CONTRIBUTING.md. |
Contributor
Author
|
/reopen |
|
The check passed, but GitHub would not reopen it (Validation Failed: ). If the branch was deleted, restore it or open a new pull request and link this one. |
This was referenced Oct 19, 2026
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.
This the rebased version of #1581 for the native-IQ prefill part of the PR.
Problem and result
Strata already has fused native-IQ prompt-expert kernels, but on SM75/Turing the
native path only admits the Q2_0/Q2_0 pair. Native expert packs using IQ2, IQ3,
or IQ4 gate/up tensors therefore fall back to the ordinary MMQ prompt path.
This PR adds a separate, manual A/B switch for the additional SM75 format
pairs. On an RTX 2080 Super Max-Q with an IQ3_XXS pack, enabling the extension
on top of the same VRAM-loan configuration increased median prefill from 774.8
to 859.4 tokens/s (+10.9%). Median generation remained 30.9 tokens/s.
The default path is unchanged when the new switch is absent.
Approach
Enable the extension with:
{ "STRATA_PF_FUSED": "1", "STRATA_PF_FUSED_SM75": "1", "STRATA_PF_FUSED_NATIVE_SM75": "1" }STRATA_PF_FUSEDandSTRATA_PF_FUSED_SM75already exist. This PR introducesonly
STRATA_PF_FUSED_NATIVE_SM75; it is deliberately separate so existingSM75 users who enabled the Q2_0 path do not silently opt into new arithmetic.
STRATA_PF_FUSED_NATIVEremains the existing global native-path A/B disable.STRATA_PF_FUSEDSTRATA_PF_FUSED_SM75STRATA_PF_FUSED_NATIVESTRATA_PF_FUSED_NATIVE_SM75The new SM75 coverage is:
Admission checks the actual CUDA capability, the specific format pair, and
kernel occupancy. The admitted SM75 formats use the qualified 128-row Turing
shape. Unsupported pairs continue through MMQ. SM80+, SM120, HIP, and decode
dispatch are unchanged.
The path keeps the same selected experts, routing weights, and weighted scatter
order. It does change prompt expert arithmetic and may therefore change prompt
state or generated tokens slightly; it is not claimed to be bit-identical to
MMQ.
The implementation updates the SM75 capability description, native-IQ public
contract and CUDA dispatch in
include/strata/core/sm75_series.hpp,include/strata/prefill/moe_fused_iq.hpp, andsrc/prefill/moe_fused_iq.cu. The corresponding format matrix is covered intests/cuda/prefill_fused_iq_test.cpp, anddocs/DETAILS.mddocuments the newmanual gate.
Validation
Tested revision:
44500122, based on upstreame88ee39d(0.2.0-beta). Thecombined end-to-end build used the same native commit plus the separate
VRAM-loan branch at
db02a533.Passed
strata.exeandprefill_fused_iq_test.exe.admitted gate/up and down pair listed above, plus the existing Q2_0/Q2_0
pair. In its reference cases, fused-versus-MMQ relative RMS was
3.5e-5--4.0e-4; the large timing cases also passed, with relative RMS1.2e-4--2.1e-4.machine. The production server was stopped during each run and restored
afterward.
median versus 514.6 PP for the exact upstream binary (-0.2%, within the run
ranges), with the same 2,304/226 plan.
Failed
upstream
src/kernels/gdn_chunk_parity.cppcalls POSIXsetenv. Theproduction and focused native-IQ targets compile and run; that unrelated
current-main test compile failure remains.
Not run
reasoning cap, so these runs validate execution and rates, not complete
answer equivalence.
Benchmark configuration
7.5.
--spec 4,--short-read 0, experimental speed projection,STRATA_BF16_TC=1, andSTRATA_PROMPT_ATTN_Q4_TC=1held constant.every repetition. Values below are medians of three engine timing lines.
Results
The isolated net effect in this workload is +10.9% PP. This is an end-to-end
feature A/B rather than a kernel-only number: native-IQ changes the supported
expert execution path and the planner admits a different chunk/ring geometry.
The separate request-scoped VRAM-loan PR
is not an algorithmic requirement. It was needed on this 8 GiB configuration
to free enough prefill VRAM for the useful native shape. A larger-memory GPU
may admit the native path without it.
The SM75 native-IQ extension itself is independent of upstream
--prefill-head-aliasand can be used with it. The separate VRAM-loan PRrejects head alias because both features manage the native output-head
allocation at the prompt/decode boundary.