]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
vulkan: support non-contig unary/glu ops (llama/24215)
authorJeff Bolz <redacted>
Sat, 13 Jun 2026 13:44:15 +0000 (08:44 -0500)
committerGeorgi Gerganov <redacted>
Fri, 19 Jun 2026 09:53:43 +0000 (12:53 +0300)
commit1216e0957bc060bff1012b91acab590d7d2b37d9
treebf9ca11b369e62f796b59c5144c7f32740f8fa76
parentdc195118ef44b3c9daf2dfe73482176070ebc056
vulkan: support non-contig unary/glu ops (llama/24215)

* vulkan: support non-contig unary/glu ops

Change unary/glu ops to pass in all strides and use fastdiv for the index
calculation. Put all unary ops in one file, similar to glu, to share the
code. codex went ahead and added expm1 without me asking, but I had to
make it do a real precision analysis rather than just making stuff up.

unary.comp initially couldn't use generic_unary_head because there wasn't
space for xielu's additional constants. Fixing this required packing the
fastdiv 'L' values.

* attempt to workaround compiler bug

* resolve conflict from #23991

* use expm1
31 files changed:
ggml/src/ggml-vulkan/ggml-vulkan.cpp
ggml/src/ggml-vulkan/vulkan-shaders/abs.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/ceil.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/diag.comp
ggml/src/ggml-vulkan/vulkan-shaders/elu.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/exp.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/floor.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/gelu.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/gelu_erf.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/gelu_quick.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/generic_unary_head.glsl
ggml/src/ggml-vulkan/vulkan-shaders/glu_head.glsl
ggml/src/ggml-vulkan/vulkan-shaders/glu_main.glsl
ggml/src/ggml-vulkan/vulkan-shaders/hardsigmoid.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/hardswish.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/neg.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/relu.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/repeat_back.comp
ggml/src/ggml-vulkan/vulkan-shaders/roll.comp
ggml/src/ggml-vulkan/vulkan-shaders/round.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/sgn.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/sigmoid.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/silu.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/softplus.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/step.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/tanh.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/tri.comp
ggml/src/ggml-vulkan/vulkan-shaders/trunc.comp [deleted file]
ggml/src/ggml-vulkan/vulkan-shaders/unary.comp [new file with mode: 0644]
ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
ggml/src/ggml-vulkan/vulkan-shaders/xielu.comp [deleted file]