Skip to content

perf(vulkan): update ggml for H3 inference optimizations - #2252

Merged
leejet merged 1 commit into
masterfrom
perf/vulkan-inference-h3
Oct 31, 2026
Merged

leejet merged 1 commit into
masterfrom
perf/vulkan-inference-h3

Conversation

@leejet

@leejet leejet commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Update ggml with dimension-based INT8 grouping, ConvRot specialization, and H3 operator fusion.
  • Enable overlapping weight uploads and reuse device buffers during segmented execution.

Related Issue / Discussion

N/A

Additional Information

Hardware: NVIDIA GeForce RTX 4090 24 GB, NVIDIA driver 596.36.

DiT files:

Model DiT file
Mimimax H3 minimax_h3_fl2va_pruned_int8_convrot.safetensors

Sampling throughput in s/it; lower is better:

Model Resolution Vulkan before Vulkan after CUDA
Mimimax H3 124f 864 x 480 7.41 3.87 3.69

Configuration:

  • Batch 1, CFG 1, Euler, seed 42, steps 20.
  • Same DiT files, GGUF text encoders, prompt, and matching sigma schedules across implementations.
  • Prompt: a lovely cat holding a sign says 'stable-diffusion.cpp'

Checklist

Summary by CodeRabbit

  • Documentation
    • Added details on Vulkan device-buffer caching, transfer queue selection, and allocation chunk sizes, including available overrides and allocation limits.

@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f87a16e5-2ea9-4c9f-9ee2-eb2ef1ebc31e
Commits

Reviewing files that changed from the base of the PR and between 0a06712 and 02e664d.

Files selected for processing: 2
  • docs/performance.md
  • ggml

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

Walkthrough

The ggml subproject reference changes. The performance documentation adds descriptions of Vulkan buffer reuse, transfer queue use, allocation chunk limits, and related environment-variable overrides.

Changes: Vulkan backend

Layer / File(s) Summary
Backend revision and Vulkan behavior documentation
ggml, docs/performance.md
The ggml subproject reference changes. The documentation describes same-size buffer reuse on discrete Vulkan devices, transfer queue defaults for specified devices, and allocation chunk limits and overrides.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Possibly related issues

  • leejet/stable-diffusion.cpp#2242 — The documentation notes that oversized tensors can require larger allocations that may fail, but this PR does not add the issue’s proposed token-axis MLP chunking.

Possibly related PRs

Suggested reviewers: daniandtheweb

Merge Risk: Minimal · up to 02e66

No verified merge-blocking issue remains in the supplied change context.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title names the main change: updating the ggml subproject to bring in H3 inference optimizations for the Vulkan backend. The raw summary shows the ggml reference bump from 6a89493 to c57b71a and d…
Description check Passed The description follows the repository template. It has the Summary section describing the ggml update, optimizations, and buffer reuse. It has a Related Issue / Discussion section, marked N/A. It has…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: updating the ggml subproject to bring in H3 inference optimizations for the Vulkan backend. The raw summary shows the ggml reference bump from 6a89493 to c57b71a and docs/performance.md changes on Vulkan device buffer caching, transfer queue selection, and allocation chunk sizes. The title does not mention the documentation change, but it does not need to cover every detail. The title is specific and matches the objectives.

Full details: Description check

Explanation

The description follows the repository template. It has the Summary section describing the ggml update, optimizations, and buffer reuse. It has a Related Issue / Discussion section, marked N/A. It has an Additional Information section with hardware, DiT file, benchmark table, and configuration. The checklist is ticked. The description does not explain the docs/performance.md changes, which are part of the diff, and it does not link an issue. These gaps are minor, so the description is mostly complete.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@leejet
leejet merged commit c6dfa9d into master Oct 31, 2026
12 checks passed
@leejet
leejet deleted the perf/vulkan-inference-h3 branch November 2, 2026 16:49
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