]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
vulkan: fuse rms_norm + mul + rope (+ view + set_rows) (llama/16977)
authorJeff Bolz <redacted>
Sat, 8 Nov 2025 07:52:15 +0000 (01:52 -0600)
committerGeorgi Gerganov <redacted>
Sun, 9 Nov 2025 21:38:03 +0000 (23:38 +0200)
commit257ce2f5c04720b1e1db43a79896df3d4d64890d
treefffa38aa27e88b98eded7581f7e749e2168c1600
parent4eef518167ac1d89acb400ad1fa4e79b7a9f6a37
vulkan: fuse rms_norm + mul + rope (+ view + set_rows) (llama/16977)

This change combines the rms_norm+mul and rope+view+set_rows fusions to
allow fusing the whole sequence together. This comes up in Qwen3, Bailing,
and some other models.
ggml/src/ggml-vulkan/ggml-vulkan.cpp
ggml/src/ggml-vulkan/vulkan-shaders/generic_binary_head.glsl
ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp
ggml/src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl [new file with mode: 0644]
ggml/src/ggml-vulkan/vulkan-shaders/rope_head.glsl
ggml/src/ggml-vulkan/vulkan-shaders/rope_multi.comp
ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp
ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp
ggml/src/ggml-vulkan/vulkan-shaders/rope_params.glsl [new file with mode: 0644]
ggml/src/ggml-vulkan/vulkan-shaders/rope_vision.comp
ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp