e29acf74fe
* vulkan (DRAFT): split shader generation by GLSL source file, to improve incremental build times * support dep-files so shaders are recompiled if their included files change * rename shader files which are used as "headers" to use .glsl extension * move glslc extension detection shaders to separate folders * the above is to prevent them from getting glob'd with the actual compute shaders that need to be compiled * vulkan : only write embedded shader .hpp/.cpp when they change * avoid recompiling ggml-vulkan.cpp when editing shaders * pass single --source argument instead of --input-dir & --filter to shader gen * check for source file match earlier * fix hang in vulkan-shaders-gen when there are compilation errors * early out did not decrement compile_count * clean up * fix glslc integer dot product test * unconditionally write the embedded shader cpp output * replace output filepath in generated dep-files to match output in CMakeLists --------- Co-authored-by: Jeff Bolz <jbolz@nvidia.com>
14 lines
327 B
Plaintext
14 lines
327 B
Plaintext
#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"
|