summaryrefslogtreecommitdiff
path: root/llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp')
-rw-r--r--llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp b/llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp
new file mode 100644
index 0000000..e017b50
--- /dev/null
+++ b/llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp
@@ -0,0 +1,13 @@
+#version 450
+
+#include "glu_head.glsl"
+
+const float GELU_COEF_A = 0.044715f;
+const float SQRT_2_OVER_PI = 0.79788456080286535587989211986876f;
+
+float op(float a, float b) {
+ const float val = SQRT_2_OVER_PI*a*(1.0f + GELU_COEF_A*a*a);
+ return 0.5f*a*(2.0f - 2.0f / (exp(2 * val) + 1)) * b;
+}
+
+#include "glu_main.glsl"