Skip to content

chore: sync ggml and remove obsolete conv1d workarounds - #2147

Merged
leejet merged 1 commit into
masterfrom
chore/sync-ggml
Oct 16, 2026
Merged

leejet merged 1 commit into
masterfrom
chore/sync-ggml

Conversation

@leejet

@leejet leejet commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Sync ggml and remove obsolete conv1d workarounds

Related Issue / Discussion

resolve #2109.

Additional Information

N/A

Checklist

Summary by CodeRabbit

  • Improvements
    • Audio encoding now processes waveform streams together, with normalized outputs returned in the expected layout.
    • Convolution processing uses a dedicated full-precision path when requested, with consistent output formatting across batch sizes.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 87ebcd8c-6d9b-45fd-abd7-6646d6219a11
📥 Commits

Reviewing files that changed from the base of the PR and between 2f016e8 and 6f43069.

📒 Files selected for processing: 4
  • ggml
  • src/core/ggml_extend.cpp
  • src/model/common/ggml_block.hpp
  • src/model/vae/minimax_h3_audio_vae.hpp

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The ggml submodule reference and conv_1d implementation changed. MiniMax H3 audio encoding now processes streams in a single batched pass instead of processing and concatenating each stream separately.

Changes: ggml and Audio VAE Updates

Layer / File(s) Summary
ggml reference and convolution handling
ggml, src/core/ggml_extend.cpp, src/model/common/ggml_block.hpp
The ggml submodule reference changed. conv_1d uses ggml_conv_1d when F32 accumulation is not forced; the forced-F32 path always reshapes and permutes the result. The include order changed without behavior changes.
Batched MiniMax H3 audio encoding
src/model/vae/minimax_h3_audio_vae.hpp
AudioVAE::encode now processes the waveform streams together, normalizes the resulting latents, and returns the permuted tensor.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Suggested reviewers: noctrex, jk212h20

Merge Risk: ⚪ Minimal · up to 6f430

No confirmed issue currently blocks merging after normal checks.

Security architecture risk: 🔵 Low · up to 6f430

The inspected changes preserve per-clip ownership and existing input checks, without identifying a new security boundary crossing. Compatibility of the batched encoder with the updated backend remains unverified because that backend revision was unavailable for inspection.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The inspected audio path preserves one latent entry per reference clip. Batching therefore does not itself combine data from separate reference clips or establish expanded tenant exposure; lower-level tensor ordering remains unresolved.

Trust Boundaries and Controls

  • observed — The inspected caller retains its existing input-array validation, reference-mode restrictions, waveform validation, and empty-result checks. The full PR comparison does not change those controls or the caller of the audio encoder.

Resilience and Maintainability Implications

  • observed — The runner's single-active-computation guard and cleanup behavior predate this PR. Arbitrary concurrent use is not established by that unsynchronized guard, and no explicit asynchronous cancellation contract was found; these remain existing limitations rather than demonstrated batching regressions.
Pre-merge checks: Passed 3 · Failed 1 · Inconclusive 1

Failed Failed checks: 1 warning · 1 inconclusive

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 3 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Linked Issues check Inconclusive Issue #2109 requires ggml 0.26.0. The PR changes the ggml submodule from d25b121ce1d6ae0c7e62ad080460d9fc1e46dd93 to dc998771e700d49bbdf9a39cede22bb5b3311767 and updates related conv1d workarounds. Th… Provide reviewable evidence that ggml revision dc998771e700d49bbdf9a39cede22bb5b3311767 declares version 0.26.0.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly summarizes the main changes: syncing ggml and removing obsolete conv1d workarounds.
Description check Passed The description includes all required sections, identifies the changes, links issue #2109, provides additional information, and confirms the contribution guidelines checklist.
Out of Scope Changes check Passed The conv1d changes in src/core/ggml_extend.cpp and the batched MiniMax H3 VAE changes remove workarounds for the updated ggml behavior. The include reorder has no functional effect. These changes supp…
Full details: Out of Scope Changes check

Explanation

The conv1d changes in src/core/ggml_extend.cpp and the batched MiniMax H3 VAE changes remove workarounds for the updated ggml behavior. The include reorder has no functional effect. These changes support the ggml synchronization and do not show unrelated scope.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 3 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Full details: Linked Issues check

Explanation

Issue #2109 requires ggml 0.26.0. The PR changes the ggml submodule from d25b121ce1d6ae0c7e62ad080460d9fc1e46dd93 to dc998771e700d49bbdf9a39cede22bb5b3311767 and updates related conv1d workarounds. The available repository evidence does not show the version declared by the new submodule revision.

Resolution

Provide reviewable evidence that ggml revision dc998771e700d49bbdf9a39cede22bb5b3311767 declares version 0.26.0.

  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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.

[Feature] Upgrade ggml backend to v0.26.0

1 participant