summaryrefslogtreecommitdiff
path: root/ggml_vk_generate_shaders.py
diff options
context:
space:
mode:
author0cc4m <picard12@live.de>2024-02-01 19:25:24 +0100
committerGitHub <noreply@github.com>2024-02-01 19:25:24 +0100
commit4d0924a8902010d31bd737b6f1f594943d120d0f (patch)
tree091227c1265488e6a528f280304b6ad92d6e8e17 /ggml_vk_generate_shaders.py
parent8ca511cadee2c67f0bd8c7034a2513778ee9a1b7 (diff)
Vulkan Phi Fix for AMD Proprietary Drivers (#5260)
* Replace tanh to avoid NaN in gelu shader on AMD proprietary driver * Fix another Vulkan CPY buffer size bug
Diffstat (limited to 'ggml_vk_generate_shaders.py')
-rw-r--r--ggml_vk_generate_shaders.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/ggml_vk_generate_shaders.py b/ggml_vk_generate_shaders.py
index 6b1b82bf..67981a75 100644
--- a/ggml_vk_generate_shaders.py
+++ b/ggml_vk_generate_shaders.py
@@ -1689,7 +1689,8 @@ void main() {
}
const float xi = float(data_a[i]);
- data_d[i] = D_TYPE(0.5f*xi*(1.0f + tanh(SQRT_2_OVER_PI*xi*(1.0f + GELU_COEF_A*xi*xi))));
+ const float val = SQRT_2_OVER_PI*xi*(1.0f + GELU_COEF_A*xi*xi);
+ data_d[i] = D_TYPE(0.5f*xi*(2.0f - 2.0f / (exp(2 * val) + 1)));
}
"""