From: 0cc4m Date: Thu, 1 Feb 2024 18:25:24 +0000 (+0100) Subject: Vulkan Phi Fix for AMD Proprietary Drivers (llama/5260) X-Git-Tag: upstream/0.0.1642~1000 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=43a5cffaa755b1a41bb546e2b420d370df5f8992;p=pkg%2Fggml%2Fsources%2Fggml Vulkan Phi Fix for AMD Proprietary Drivers (llama/5260) * Replace tanh to avoid NaN in gelu shader on AMD proprietary driver * Fix another Vulkan CPY buffer size bug --- diff --git a/ggml-vulkan.cpp b/ggml-vulkan.cpp index bccc40bf..b1e0006b 100644 --- a/ggml-vulkan.cpp +++ b/ggml-vulkan.cpp @@ -2876,6 +2876,9 @@ static void ggml_vk_op_f32(vk_context * ctx, const ggml_tensor * src0, const ggm x_sz = ggml_nbytes(src0); d_sz = ggml_nbytes(dst); + if (extra_src0->offset + x_sz >= d_X->size) { + x_sz = VK_WHOLE_SIZE; + } if (extra->offset + d_sz >= d_D->size) { d_sz = VK_WHOLE_SIZE; } @@ -2911,12 +2914,16 @@ static void ggml_vk_op_f32(vk_context * ctx, const ggml_tensor * src0, const ggm break; } - x_sz *= ne02 * ne03; - if (y_sz != VK_WHOLE_SIZE) { - y_sz *= ne12 * ne13; - } if (op != GGML_OP_CPY) { - d_sz *= ne02 * ne03; + if (x_sz != VK_WHOLE_SIZE) { + x_sz *= ne02 * ne03; + } + if (y_sz != VK_WHOLE_SIZE) { + y_sz *= ne12 * ne13; + } + if (d_sz != VK_WHOLE_SIZE) { + d_sz *= ne02 * ne03; + } } if (!use_src1 && op == GGML_OP_SOFT_MAX) {