Skip to content

ggml kernels: GQ_FUSED_ROWS in every build, the CUDA chain's host side checked without AVX2 - #2585

Merged
JustVugg merged 1 commit into
devfrom
fix/gq-fused-rows-portable
Nov 4, 2026
Merged

JustVugg merged 1 commit into
devfrom
fix/gq-fused-rows-portable

Conversation

@JustVugg

@JustVugg JustVugg commented Nov 4, 2026

Copy link
Copy Markdown
Owner

qwen38's CUDA chain groups a verify's pooled slots of one expert by GQ_FUSED_ROWS (#2559's "a verify's pooled slots of one expert together"). ggml_quants.h defined it only inside the AVX2 kernels' block, so make qwen38 CUDA=1 stopped with 'GQ_FUSED_ROWS' undeclared on a host without them: an ARM host with a card (DGX Spark, GH200, Jetson), or an x86 one built for a baseline arch. CI never built that combination.

Change

  • GQ_FUSED_ROWS is defined before the AVX2 block, in every build. The grouping holds there: without the fused kernels a row goes through gq_dot_i8 (or the Q8_0 dot) on its own, so its result does not depend on how many rows are grouped.
  • make cuda-host-syntax: -fsyntax-only -DCOLI_CUDA of the engines with a CUDA chain (qwen38, qwen36, olmoe, qwen36_tier, backend_loader), no toolkit needed. The Linux CPU job runs it at ARCH=x86-64, so a name only the AVX2 kernels define shows on an x86 runner.

Checked

  • dev: make cuda-host-syntax ARCH=x86-64 fails (two errors in qwen38_cuda_chain.h); this branch passes.
  • The five files at -march=x86-64, x86-64-v2 and native with -DCOLI_CUDA: no error or warning.

…e checked without AVX2

qwen38's CUDA chain groups a verify's pooled slots of one expert by
GQ_FUSED_ROWS, defined only with the AVX2 kernels: qwen38 with CUDA=1 did not
compile on an ARM host with a card. The paths without those kernels give a
row its own bits too, so the grouping holds there. make cuda-host-syntax
compiles the CUDA engines' host side; CI runs it at ARCH=x86-64.
@JustVugg
JustVugg force-pushed the fix/gq-fused-rows-portable branch from dc960e5 to acff318 Compare November 4, 2026 13:18
@JustVugg
JustVugg merged commit 2ee8d67 into dev Nov 4, 2026
123 of 124 checks passed
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.

1 participant