verify: the side-projection q8_1 interleave copies need two or more columns (STRATA_SIDE_MIXER=2 on a 1-column window threw on Q2_0 packs: the queries' branch and the GDN gate branch)

This commit is contained in:
Niko1221 committed 2026-10-16 22:39:03 +02:00
1 parent c8265fce0e
commit 477ac13cbe
1 file changed
+2 -2
+2 -2
View File
@@ -1319,7 +1319,7 @@ bool Verifier::record_window(int T, cudaStream_t cs, std::string& err) {
// output), and qkv is recorded before the branch's launch, so its grid is dispatched first and the
// conv / recurrence that wait for it start sooner (z is read only after the recurrence)
const bool g_il = g_mmvq_il() && strata::kernels::native_mmvq_il_supported(wg->native_type, n, (int) ZV);
if (g_il && !il_ready) {
if (g_il && !il_ready && n >= 2) {
strata::kernels::native_q8_1_interleave(xq_, xil_, (int) N, n, cs);
il_ready = true;
}
@@ -1597,7 +1597,7 @@ bool Verifier::record_window(int T, cudaStream_t cs, std::string& err) {
if (cudaEventRecord(mjoin_, side_) != cudaSuccess) { err = "verify: the indexer's branch could not join"; return false; }
}
if (side_proj) { // the queries beside the keys and values (fork b063c13)
if (q_il && !il_ready) { // the copy before the fork (mm(wk) / mm(wv) on cs reuse it)
if (q_il && !il_ready && n >= 2) { // the copy before the fork (mm(wk) / mm(wv) on cs reuse it)
strata::kernels::native_q8_1_interleave(xq_, xil_, (int) N, n, cs);
il_ready = true;
}