Repository navigation
ggml-cpu : fix PQ2_0 x86 vec_dot build on non-AVX2 CPU variants - #263
Merged
Merged
Conversation
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 Release (Prism) run 35961414463 fails in ubuntu-cpu x64, which builds with
GGML_CPU_ALL_VARIANTS=ONandLLAMA_FATAL_WARNINGS=ON. In the variants without AVX2 (x64, sse42, sandybridge),arch/x86/quants.cfrom #206 hits two errors:pq2k_dpbusd_accreturns__m256iat file scope, outside any AVX2 guard:-Werror=psabi.ggml_vec_dot_pq2_0_q8_Kdeclaresx,y,nbbefore the#if defined(__AVX2__), and the generic fallback never uses them:-Werror=unused-variable.Fix: guard the helper with
#if defined(__AVX2__)and mark the three variablesUNUSEDin the fallback, the same way the neighbouring vec_dot functions do. No change to the AVX2 code path.PR CI does not build all CPU variants with fatal warnings, which is why #206 passed its checks.
Tested: the release job's configuration (GCC 11, all CPU variants, fatal warnings, same cmake flags) builds cleanly, all 14 CPU variant libraries produced.
🤖 Generated with Claude Code