]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
vulkan: optimize conv2d and implement coopmat1 support (#22620)
authorJeff Bolz <redacted>
Tue, 26 May 2026 13:48:05 +0000 (08:48 -0500)
committerGitHub <redacted>
Tue, 26 May 2026 13:48:05 +0000 (15:48 +0200)
commit7799d31e6806daac29cd08a9060527b30d93703f
tree7f069b55af8b3dd6c57fc3a8ec58ead205f5e671
parent3a3ed153d96d0f59af0bf6a26634d7a9442f2bb7
vulkan: optimize conv2d and implement coopmat1 support (#22620)

* vulkan: add CONV_SHAPE_64x128 for medium-K conv2d

* vulkan: skip conv2d bounds checks when shapes align with tile sizes

* vulkan: use WG_SIZE=128 for CONV_SHAPE_64x32 conv2d

* vulkan: stage cm2 conv2d accumulator through shmem before global store

* vulkan: add coopmat1 conv2d path

* fallback when using too much shared memory. clean up comments

* Require 16x16x16 and subgroup size 32 or 64

* check whether shared memory is sufficient before overwriting conv2d params with coopmat1 values
ggml/src/ggml-vulkan/ggml-vulkan.cpp
ggml/src/ggml-vulkan/vulkan-shaders/conv2d_mm.comp
ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp