]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
vulkan: fuse rms_norm + mul + rope (+ view + set_rows) (#16977)
authorJeff Bolz <redacted>
Sat, 8 Nov 2025 07:52:15 +0000 (01:52 -0600)
committerGitHub <redacted>
Sat, 8 Nov 2025 07:52:15 +0000 (08:52 +0100)
commitb4e335d8dc503ec0adf76fa4053ab7094b6310dd
tree6d01980fd34b6917dcff4129ecf1c20bca01a805
parentd6fe40fa0040bf7207b2380d0f3628fb56d6a86f
vulkan: fuse rms_norm + mul + rope (+ view + set_rows) (#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.
12 files changed:
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
tests/test-backend-ops.cpp