]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
vulkan: optimize conv2d and implement coopmat1 support (llama/22620)
authorJeff Bolz <redacted>
Tue, 26 May 2026 13:48:05 +0000 (08:48 -0500)
committerGeorgi Gerganov <redacted>
Fri, 29 May 2026 06:47:30 +0000 (09:47 +0300)
commita0efd13f0fe9e2123a5d04f57bb353225c5f4453
treefb4c1b1caf050decd290dd0ba48bbdeae9ce5d52
parentf8df28d3319ecf97d8bbc27cdc22bcff8f1dcbe0
vulkan: optimize conv2d and implement coopmat1 support (llama/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