]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
vulkan: support non-contig unary/glu ops (#24215)
authorJeff Bolz <redacted>
Sat, 13 Jun 2026 13:44:15 +0000 (08:44 -0500)
committerGitHub <redacted>
Sat, 13 Jun 2026 13:44:15 +0000 (08:44 -0500)
commit1a7718b4c57227a6c6187a2359c883c4d3089936
tree26643d2f5ea26b88ff388bf6eefa287aaed20fb8
parent597b6672e800c10e474bbdc53106b9b7b502fc4c
vulkan: support non-contig unary/glu ops (#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
33 files changed:
docs/ops.md
docs/ops/Vulkan.csv
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]