]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
vulkan: disable FA mask_opt on GCN to improve performance (#24362)
authorRuben Ortlam <redacted>
Wed, 8 Jul 2026 17:01:25 +0000 (19:01 +0200)
committerGitHub <redacted>
Wed, 8 Jul 2026 17:01:25 +0000 (19:01 +0200)
* vulkan: disable FA mask_opt on GCN to improve performance

* reenable mask opt over attention head size 256

ggml/src/ggml-vulkan/ggml-vulkan.cpp

index 15f22ae49ea7c460b9d59d50b510dc0f66e69714..a483d22c1a26a8b0118a3b33e70d54b4eea6a7a4 100644 (file)
@@ -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);