]> git.djapps.eu Git - pkg/ggml/sources/ggml/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 16:30:22 +0000 (18:30 +0200)
commit33bd4e729a66253e46fcf3cecce905e0bfd6076b
treec7e63c0c38c08f58b709e681f91dc466705740f7
parentc0064ca514d14a1f702e4d6648e56daba620e60c
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.
12 files changed:
src/ggml-vulkan/ggml-vulkan.cpp
src/ggml-vulkan/vulkan-shaders/generic_binary_head.glsl
src/ggml-vulkan/vulkan-shaders/rms_norm.comp
src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl [new file with mode: 0644]
src/ggml-vulkan/vulkan-shaders/rope_head.glsl
src/ggml-vulkan/vulkan-shaders/rope_multi.comp
src/ggml-vulkan/vulkan-shaders/rope_neox.comp
src/ggml-vulkan/vulkan-shaders/rope_norm.comp
src/ggml-vulkan/vulkan-shaders/rope_params.glsl [new file with mode: 0644]
src/ggml-vulkan/vulkan-shaders/rope_vision.comp
src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
tests/test-backend-ops.cpp