]> git.djapps.eu Git - pkg/ggml/sources/ggml/commit
vulkan: fuse adds (llama/15252)
authorJeff Bolz <redacted>
Sat, 16 Aug 2025 16:48:22 +0000 (11:48 -0500)
committerGeorgi Gerganov <redacted>
Mon, 18 Aug 2025 16:15:25 +0000 (19:15 +0300)
commit8c021e3dd32d8c648cf66dc84be9bf546f572fe8
tree0ce897c1a61dd3252982e6cf3f4939e7e3fbeb2d
parent9bcb7e0f5b3201e3b75947043e69526fe5001e02
vulkan: fuse adds (llama/15252)

* vulkan: fuse adds

Fuse adds that have the same shape, which are common in MoE models.
It will currently fuse up to 6 adds, because we assume no more than
8 descriptors per dispatch. But this could be changed.

* check runtimeDescriptorArray feature

* disable multi_add for Intel due to likely driver bug
src/ggml-vulkan/ggml-vulkan.cpp
src/ggml-vulkan/vulkan-shaders/generic_binary_head.comp
src/ggml-vulkan/vulkan-shaders/multi_add.comp [new file with mode: 0644]
src/ggml-vulkan/vulkan-shaders/utils.comp [new file with mode: 0644]
src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
tests/test-backend-ops.cpp