Skip to content

Upgrade llama.cpp from b8763 to b8788#86

Merged
bernardladenthin merged 1 commit into
masterfrom
claude/update-b8788-compatibility-K3edA
Apr 13, 2026
Merged

Upgrade llama.cpp from b8763 to b8788#86
bernardladenthin merged 1 commit into
masterfrom
claude/update-b8788-compatibility-K3edA

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner
  • Multimodal enhancements: Gemma-4 audio (conformer), Qwen3-Omni audio support
  • Backend optimizations: CUDA stream capture for argsort, SYCL improvements, SSM conv kernel size 5
  • Download cancellation: New virtual is_cancelled() method (backwards-compatible)
  • New GGUF tensor types: A_ENC_CONV2D, A_ENC_CONV_OUT for audio encoders
  • Server improvements: build_info in /props endpoint, router settings exposure

No breaking changes detected. Multimodal audio models work automatically via MTMD.

https://claude.ai/code/session_018HegvJdW2521WoFk7GmPvm

@bernardladenthin
bernardladenthin force-pushed the claude/update-b8788-compatibility-K3edA branch from f639520 to dd1b779 Compare April 13, 2026 14:42
@bernardladenthin
bernardladenthin force-pushed the claude/update-b8788-compatibility-K3edA branch from dd1b779 to dbb83ba Compare April 13, 2026 14:42
@bernardladenthin
bernardladenthin merged commit 2f70531 into master Apr 13, 2026
14 checks passed
@bernardladenthin
bernardladenthin deleted the claude/update-b8788-compatibility-K3edA branch April 13, 2026 15:15
bernardladenthin pushed a commit that referenced this pull request May 22, 2026
Appends a per-issue Deep-dive analysis block to each of the 9
LIKELY FIXED / PARTIALLY FIXED entries, and adds a top-level Deep-dive
verdict guide categorising which issues are confirmable from code
inspection, which need one targeted JUnit test, and which genuinely
require platform-specific runtime reproduction.

Updates the Status overview table for #121 (FIXED for 64-bit Android)
and #86 (CUDA jar requires libcudart at runtime, not auto-fallback).
bernardladenthin pushed a commit that referenced this pull request May 22, 2026
Fetched verbatim text of the LIKELY FIXED / PARTIALLY FIXED issues from
github.com/kherud/java-llama.cpp and append a Verification plan section
with: (a) a table of new info extracted from each issue body, (b) four
concrete JUnit test sketches that would close out #80, #95, #98, #102,
(c) a non-unit-testable bucket for #34, #50, #86, #103, #121 with the
corresponding action (feature, docs, CI matrix), (d) a recommended PR
sequencing.

Notable finding: #98's original repro did not call enableEmbedding()
at all — the binding never forwarded --embedding to the upstream
server-context, so the result_output assertion fired because the
embedding pipeline was never initialised. enableEmbedding() now
exists in ModelParameters (line 1040), so the fix is essentially
code-confirmed; an integration test against nomic-embed-text is
optional confirmation.
bernardladenthin added a commit that referenced this pull request May 22, 2026
)

* Enrich open-issues baseline with current-fork status

Appends a Status in fork subsection to each of the 37 upstream issues with
a verdict, file:line evidence, and next steps; adds a Status overview
table summarising verdicts across all issues.

* Add deep-dive analysis for likely/partially fixed issues

Appends a per-issue Deep-dive analysis block to each of the 9
LIKELY FIXED / PARTIALLY FIXED entries, and adds a top-level Deep-dive
verdict guide categorising which issues are confirmable from code
inspection, which need one targeted JUnit test, and which genuinely
require platform-specific runtime reproduction.

Updates the Status overview table for #121 (FIXED for 64-bit Android)
and #86 (CUDA jar requires libcudart at runtime, not auto-fallback).

* Add verification plan with original-issue research and test sketches

Fetched verbatim text of the LIKELY FIXED / PARTIALLY FIXED issues from
github.com/kherud/java-llama.cpp and append a Verification plan section
with: (a) a table of new info extracted from each issue body, (b) four
concrete JUnit test sketches that would close out #80, #95, #98, #102,
(c) a non-unit-testable bucket for #34, #50, #86, #103, #121 with the
corresponding action (feature, docs, CI matrix), (d) a recommended PR
sequencing.

Notable finding: #98's original repro did not call enableEmbedding()
at all — the binding never forwarded --embedding to the upstream
server-context, so the result_output assertion fired because the
embedding pipeline was never initialised. enableEmbedding() now
exists in ModelParameters (line 1040), so the fix is essentially
code-confirmed; an integration test against nomic-embed-text is
optional confirmation.

---------

Co-authored-by: Claude <noreply@anthropic.com>
bernardladenthin pushed a commit that referenced this pull request May 22, 2026
Updates docs/history/49be664_open_issues.md to reflect that the four
JUnit regression tests called for in the verification plan have been
added on this branch:

- Deep-dive verdict guide now lists each test name and self-skip
  behaviour next to its issue bullet
- Per-issue Status blocks for #80, #95, #98, #102 annotated as
  "LIKELY FIXED -> FIXED on CI green" with the covering test
- Status overview table rows for the same four issues updated
- "What the original issues actually contain" feasibility table marks
  all four as DONE with the commit reference
- "Concrete test plan" gains a status callout noting the as-shipped
  implementation matches the sketches
- "Recommended sequencing" step 1 marked DONE and enumerates what
  shipped; remaining steps (#86 docs, #103/#34 typed image API, Android
  emulator CI) carried forward as the next deliverables

No code or behaviour change, documentation only.

https://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW
bernardladenthin added a commit that referenced this pull request May 22, 2026
* test: add JUnit regressions for kherud open issues #80, #95, #98, #102

Adds four small JUnit tests proposed in the verification plan section of
docs/history/49be664_open_issues.md to upgrade the corresponding upstream
issues from LIKELY FIXED to FIXED:

- MemoryManagementTest#testOpenCloseLoopDoesNotLeak (#102) - 20-iteration
  open/close loop; on Linux asserts VmRSS delta < 200 MB. Degenerates to
  a no-crash smoke test on non-Linux hosts where /proc/self/status is
  absent.
- MemoryManagementTest#testOpenCloseWithoutGeneration (#80) - 20 open +
  immediate close without any generation, exercises the half-initialised
  worker race closed by the double server.terminate() in jllama.cpp.
- LlamaModelTest#testIteratorTerminatesOnRepetitivePrompt (#95) - asserts
  the iterator terminates within nPredict+1 steps on a deliberately
  repetitive prompt.
- LlamaEmbeddingsTest#testNomicEmbedLoads (#98) - gated on system
  property net.ladenthin.llama.nomic.path; reproduces the reporter's
  batch/ubatch config plus the fix (enableEmbedding()), and asserts a
  768-dim vector for nomic-embed-text-v1.5.

Wires up the optional nomic GGUF download in the linux-x86_64 Java test
job in .github/workflows/publish.yml. Other test jobs cleanly self-skip
via Assume because the system property is unset.

Documents the local native-build workflow in CLAUDE.md - per-host output
paths, mvn-cmake handoff, optional model handling, and the
restricted-network caveat for environments that block huggingface.co.

https://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW

* docs: record #80/#95/#98/#102 regression tests added in 713d426

Updates docs/history/49be664_open_issues.md to reflect that the four
JUnit regression tests called for in the verification plan have been
added on this branch:

- Deep-dive verdict guide now lists each test name and self-skip
  behaviour next to its issue bullet
- Per-issue Status blocks for #80, #95, #98, #102 annotated as
  "LIKELY FIXED -> FIXED on CI green" with the covering test
- Status overview table rows for the same four issues updated
- "What the original issues actually contain" feasibility table marks
  all four as DONE with the commit reference
- "Concrete test plan" gains a status callout noting the as-shipped
  implementation matches the sketches
- "Recommended sequencing" step 1 marked DONE and enumerates what
  shipped; remaining steps (#86 docs, #103/#34 typed image API, Android
  emulator CI) carried forward as the next deliverables

No code or behaviour change, documentation only.

https://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW

---------

Co-authored-by: Claude <noreply@anthropic.com>
bernardladenthin pushed a commit that referenced this pull request May 22, 2026
Closes the documentation gap for issue #86 (does the CUDA jar fall back to
CPU?) and the 32-bit Android tail of #121 (armeabi-v7a not published).

The new section enumerates the three published classifiers (default CPU,
cuda13-linux-x86-64, opencl-android-aarch64), their backends, target
platforms, and runtime requirements. It explicitly states that the CUDA
JAR is CUDA-only at runtime — it dlopens libcudart.so.13/libcublas.so.13
and has no automatic CPU fallback — and that Android armeabi-v7a is not
shipped as a released artifact.

Updates docs/history/49be664_open_issues.md to mark #86 as
FIXED-AS-DOCUMENTED and #121 as FIXED (64-bit) with the 32-bit limitation
now documented.

https://claude.ai/code/session_01R3jVWHsB3zymwAQtj8GT43
bernardladenthin added a commit that referenced this pull request May 22, 2026
* docs: mark #80/#95/#98/#102 as FIXED now that PR #185 is merged

PR #185 (commit cba693c) merged the four regression tests sketched in the
49be664 open-issues verification plan. Update the per-issue blocks, the
status overview table, the top-level deep-dive verdict guide, and the
recommended-sequencing section to reflect that #80, #95, #98 and #102
are now FIXED (no longer "LIKELY FIXED → FIXED on CI green").

https://claude.ai/code/session_01R3jVWHsB3zymwAQtj8GT43

* docs: add README "Choosing the right classifier" section

Closes the documentation gap for issue #86 (does the CUDA jar fall back to
CPU?) and the 32-bit Android tail of #121 (armeabi-v7a not published).

The new section enumerates the three published classifiers (default CPU,
cuda13-linux-x86-64, opencl-android-aarch64), their backends, target
platforms, and runtime requirements. It explicitly states that the CUDA
JAR is CUDA-only at runtime — it dlopens libcudart.so.13/libcublas.so.13
and has no automatic CPU fallback — and that Android armeabi-v7a is not
shipped as a released artifact.

Updates docs/history/49be664_open_issues.md to mark #86 as
FIXED-AS-DOCUMENTED and #121 as FIXED (64-bit) with the 32-bit limitation
now documented.

https://claude.ai/code/session_01R3jVWHsB3zymwAQtj8GT43

---------

Co-authored-by: Claude <noreply@anthropic.com>
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.

2 participants