feat!: upgrade llama.cpp from b10797 to b10817 - #415
Merged
Conversation
No project-source change. The whole review surface across the paths this
project links against is 7 files, +12/-13; everything else in the 20-commit
range is GPU-backend work (ggml-opencl +940 lines and a new 871-line Adreno
SDPA kernel, Metal fa-vec tunings for M3/M3 Max, SYCL memtrace), a new model
architecture (src/models/hy-v4.cpp), upstream CI and the WebUI.
Two entries needed checking rather than skimming:
* common/build-info.h: llama_print_build_info(const char *) became
llama_print_build_info(const char *, FILE * = stderr) (#28322). A DEFAULT
argument, so every existing one-argument call still compiles; the project
does not call it at all and reads llama_build_info(), which is untouched.
Worth noting anyway because build-info is exactly what
NativeLibraryLoadSmokeTest cross-checks against the pin, and this is the
second consecutive range to move that file (b10792->b10797 carried #28278).
* ggml/include/ggml-backend.h REMOVES ggml_backend_op_alloc_size_may_expand
(via the #28379 ggml sync). A deletion from a public header is the one shape
that breaks a build with no diff hunk to notice, so the project source was
grepped for it: zero references, in src/main/cpp and src/test/cpp alike.
The server contract was re-checked mechanically and is byte-identical (request
fields, set_hard_limits bounds, response keys in both emit forms) -- tools/server
has no .cpp/.h change in the range at all. mtmd.cpp/clip.cpp change gemma4 vision
handling and an image-token limit inside upstream translation units, with no API
movement. The remaining three files are upstream's own version bump and a
BoringSSL pin that only applies with LLAMA_BUILD_BORINGSSL, which this project
leaves off.
Patches: zero intersection with the 42 files the eight patches touch, so no
context can have moved. The applier was run for real anyway -- fresh build dir,
configure clean, stamp at head cd8cdf39, all eight hashes recorded.
Chunking: the full diff is 307 KB, over the runbook's 100 KiB threshold, but
excluding ggml/src, tools/ui, docs, .github and conversion -- every one outside
the review surface the rule exists to bound -- it is 68 KB, under it. Same call
as the previous bump, and here the excluded-diff figure alone justifies it.
This range does NOT address the macOS-15 regression introduced at b10797:
src/llama-model-loader.cpp is untouched here and hparams.n_expert_used_max()
(the prime suspect from #28323) is still called at both sites. Expect
`Java Tests macOS 15 arm64` to stay red until that is bisected.
Verified locally: fresh configure clean, full build with zero warnings on the
project TUs, ctest 520/520, mvn clean verify 1486 Java tests green (including
NativeLibraryLoadSmokeTest, which cross-checks LLAMA_CPP_VERSION against the
linked build-info), bytecode gate clean over llama/target.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnNYn8W1xuVxVJtyL34GyH
bernardladenthin
had a problem deploying
to
maven-central
September 5, 2026 10:06 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
maven-central
September 5, 2026 10:06 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
startgate
September 5, 2026 10:06 — with
GitHub Actions
Error
Code Review Summary ✅Version pins are consistent and correct:
Verification Quality ⭐
API Compatibility ✅
Known Limitations
Recommendation: APPROVED — Thoroughly verified and well-documented. Ready for merge. |
|
This was referenced Sep 5, 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.



Summary
No project-source change. The whole review surface across the paths this project links against is 7 files, +12 / −13; everything else in the 20-commit range is GPU-backend work (
ggml-opencl+940 lines and a new 871-line Adreno SDPA kernel, Metal fa-vec tunings for M3/M3 Max, SYCL memtrace), a new model architecture (src/models/hy-v4.cpp), upstream CI and the WebUI.Two entries needed checking rather than skimming:
common/build-info.h—llama_print_build_info(const char *)becamellama_print_build_info(const char *, FILE * = stderr)(#28322). A default argument, so every existing one-argument call still compiles; the project does not call it at all and readsllama_build_info(), which is untouched. Worth flagging anyway, becausebuild-infois exactly whatNativeLibraryLoadSmokeTestcross-checks against the pin — and this is the second consecutive range to move that file (b10792→b10797 carried #28278).ggml/include/ggml-backend.hREMOVESggml_backend_op_alloc_size_may_expand(via the #28379 ggml sync). A deletion from a public header is the one shape that breaks a build with no diff hunk to notice, so the project source was grepped for it: zero references, insrc/main/cppandsrc/test/cppalike.The server contract was re-checked mechanically and is byte-identical (request fields,
set_hard_limitsbounds, response keys in both emit forms) —tools/server/has no.cpp/.hchange in the range at all.mtmd.cpp/clip.cppchange gemma4 vision handling and an image-token limit inside upstream translation units, with no API movement. The remaining three files are upstream's own version bump and a BoringSSL pin that only applies withLLAMA_BUILD_BORINGSSL, which this project leaves off.Patches: zero intersection with the 42 files the eight patches touch, so no context can have moved. The applier was run for real anyway — fresh build dir, configure clean, stamp at
head cd8cdf39, all eight hashes recorded.Chunking: the full diff is 307 KB, over the runbook's 100 KiB threshold, but excluding
ggml/src,tools/ui,docs,.githubandconversion— every one outside the review surface the rule exists to bound — it is 68 KB, under it. Same call as the previous bump, and here the excluded-diff figure alone justifies it. Recorded indocs/history/so the deviation stays auditable.src/llama-model-loader.cppis untouched in this range andhparams.n_expert_used_max()— the prime suspect from #28323, introduced at b10797 — is still called at both sites. ExpectJava Tests macOS 15 arm64 (Metal)and(no Metal)to stay red. The bisect I proposed in #414 is still the open item; say the word and I'll push a probe branch pinned back to b10792.Test plan
rm -rf build && cmake -B build -DBUILD_TESTING=ON— the fail-loudPATCH_COMMANDran for real; stampcd8cdf397dc21d986e69069ce2180651d693fdffctest520/520mvn clean verify— 1486 Java tests, 0 failures.github/verify-bytecode-version.sh --max-major 52 llama/targetcleanb10731 → b10817CHANGELOG entry, two new rows indocs/history/llama-cpp-breaking-changes.mdA note on the verification, because it is the reason this is trustworthy rather than assumed: my first
mvn clean verifyon this branch failed, because a repo-widegit reset --hardI ran for an unrelated dependency audit had silently discarded the uncommitted pin edits while the native library was already built at b10817.NativeLibraryLoadSmokeTest.nativeBuildInfoMatchesPinnedVersionConstantcaught exactly that drift and named it precisely (Linked build-info "b10817-cd8cdf397" must start with the pinned tag "b10797-"). The edits were restored and the full gate re-run green. The guard works.Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.md🤖 Generated with Claude Code
https://claude.ai/code/session_01AnNYn8W1xuVxVJtyL34GyH
Generated by Claude Code