]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
vulkan: support SET_ROWS (#14587)
authorJeff Bolz <redacted>
Sat, 12 Jul 2025 10:12:26 +0000 (05:12 -0500)
committerGitHub <redacted>
Sat, 12 Jul 2025 10:12:26 +0000 (12:12 +0200)
commitb3ad3a0191994d6c47b2bd389d5c7431526ecd2c
treef69bdbd5c7f5bf5054121b055e0bb57cff387e40
parent98197e5c98388470030d908f355ec5937dcccaaa
vulkan: support SET_ROWS (#14587)

* vulkan: support SET_ROWS

Add variants of the copy_to_quant shader that do the SET_ROWS operation.
Change these shaders to spread the work across the workgroup.
The memory access pattern is probably not great (one thread per quant block),
but should be fine for now.

* vulkan: optimize set_rows

Larger workgroups for non-quant types.
Set "norepeat" (there is manual repeat logic).
Use fastmod.
ggml/src/ggml-vulkan/ggml-vulkan.cpp
ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp
ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp