llama.cpp
metal : add MoE and SSM_CONV fusion optimizations
#28948
Merged

metal : add MoE and SSM_CONV fusion optimizations #28948

ggerganov merged 40 commits into master from gg/metal-fusion-qwen3.6
ggerganov
github-actions github-actions added testing
github-actions github-actions added ggml
github-actions github-actions added Apple Metal
ggerganov
ggerganov commented on 2026-09-15
ggerganov ggerganov force pushed from 69a1dfb8 to 996143df 40 days ago
github-actions github-actions added examples
ggerganov ggerganov marked this pull request as ready for review 40 days ago
ggerganov ggerganov requested a review 40 days ago
ggerganov metal : add top-k MoE fusion
078a811c
ggerganov metal : add MoE weighted reduction fusion
2fecc528
ggerganov tests : expose MoE weighted reduction in fusion baseline
057f7a60
ggerganov metal : fuse RMS_NORM + SCALE
627172fe
ggerganov metal : use function constant for RMS_NORM + SCALE
4788328e
ggerganov metal : use function constant for top-k MoE with_norm
bef5ed1e
ggerganov metal : rename moe_weighted_reduction suffix to moe_reduce
9c0768f5
ggerganov metal : add MUL_MAT + UNARY and MUL_MAT + ADD + UNARY fusion
c318506a
ggerganov metal : revert MUL_MAT + UNARY and MUL_MAT + ADD + UNARY fusion
1dc1e3db
ggerganov metal : add SSM_CONV + UNARY (silu) fusion
3e9c3b4b
ggerganov metal : address fusion review comments
4f387a7d
ggerganov metal : fix unused parameter in top-k MoE fusion check
990c5d85
ggerganov metal : guard SSM_CONV fusion lookup behind use_fusion
0264daa3
ggerganov metal : track all fused outputs in graph reorder
ba10d2f8
ggerganov metal : keep top-k MoE logits alive until fused output
5120797a
ggerganov metal : refactor alloc deps to pattern-driven approach
77d81fbc
ggerganov metal : check fused kernel destination in concurrency tracking
060952ab
ggerganov meta : forward graph_optimize to underlying backends
ba130719
ggerganov metal : use vector for fusion table
c5779d6a
ggerganov meta : keep graph_optimize unimplemented
ec59d32d
ggerganov parallel : fix non-deterministic prompt selection
33ceb68b
ggerganov parallel : support dummy models and add global logits run hash
6e06cd46
ggerganov metal : sync cross-device copies with destination completion event
9e5ce6f2
ggerganov metal : avoid const_cast in fusion alloc deps
9ee17c2d
ggerganov metal : skip fusions with aliased sources
da289484
ggerganov metal : hide fusion pattern definition
b968e349
ggerganov metal : use vector fusion op sequences
9b0362d0
ggerganov metal : drop redundant struct keywords
f050011f
ggerganov metal : add alloc deps comment separator
a4fb973f
ggerganov metal : generalize fusion output memory ranges
363b4774
ggerganov metal : rename fusion out_offsets to outs
f4057093
ggerganov metal : avoid dst vector in memory range check
5c05aa32
ggerganov metal : optimize fusion matching and multi-output handling
78cf4d12
ggerganov Revert "parallel : support dummy models and add global logits run hash"
66cafead
ggerganov fusion : update MTL.csv
551b96c8
ggerganov metal : unroll constant loops in top-k MoE kernel
22fb9bcf
ggerganov metal : use function constants for top-k MoE n_expert and top_k
1b13514d
ggerganov metal : rename fusion kargs to scale and clamp
bde2ee59
ggerganov metal : use function constants for moe_reduce and ssm_conv
a066528b
ggerganov fusion : update MTL.csv
9bf10776
ggerganov ggerganov force pushed from 03eddaba to 9bf10776 40 days ago
ggerganov ggerganov merged 5b59b83f into master 39 days ago
ggerganov ggerganov deleted the gg/metal-fusion-qwen3.6 branch 39 days ago
ggerganov ggerganov added highlight
ericcurtin

Login to write a write a comment.

Login via GitHub

Reviewers
No reviews
Assignees
No one assigned
Labels
Milestone