From: Ruben Ortlam Date: Wed, 8 Jul 2026 17:01:25 +0000 (+0200) Subject: vulkan: disable FA mask_opt on GCN to improve performance (#24362) X-Git-Tag: upstream/0.0.10438~506 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=a646006f09d2f76f2d62d6c0d5e8e8490d570720;p=pkg%2Fggml%2Fsources%2Fllama.cpp vulkan: disable FA mask_opt on GCN to improve performance (#24362) * vulkan: disable FA mask_opt on GCN to improve performance * reenable mask opt over attention head size 256 --- diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 15f22ae49..a483d22c1 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -10310,7 +10310,8 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx } // Only use mask opt when the mask is fairly large. This hasn't been tuned extensively. - bool use_mask_opt = mask && nem1 >= 32 && nem0 * nem1 > 32768 && nem0 >= tuning_params.block_cols * 16; + bool use_mask_opt = mask && nem1 >= 32 && nem0 * nem1 > 32768 && nem0 >= tuning_params.block_cols * 16 + && (ctx->device->architecture != vk_device_architecture::AMD_GCN || HSK > 256 || HSV > 256); vk_fa_pipeline_state fa_pipeline_state = get_fa_pipeline_state(ctx->device, tuning_params, HSK, HSV, aligned, f32acc, mask != nullptr, use_mask_opt, logit_softcap != 0, k->type, v->type);