From: Jeff Bolz Date: Sun, 14 Dec 2025 08:00:00 +0000 (-0600) Subject: vulkan: Fix data race/hang in scalar/cm1 flash attention (llama/17887) X-Git-Tag: upstream/1.8.3~130 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=af2c8cba6f1b76f8b2678d150523fe5782ad557a;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp vulkan: Fix data race/hang in scalar/cm1 flash attention (llama/17887) --- diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp index 4bef48b0..0379e5d5 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp @@ -256,6 +256,9 @@ void main() { barrier(); } + // prevent race on tmpsh + barrier(); + // reduce across threads [[unroll]] for (uint32_t r = 0; r < Br; ++r) { diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp index cd82e4ab..c995ab14 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp @@ -302,6 +302,9 @@ void main() { barrier(); } + // prevent race on tmpsh + barrier(); + // reduce across threads float rowmaxf[rows_per_thread], eMf[rows_per_thread], Moldf[rows_per_thread];