]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
vulkan: fix mmv subgroup16 selection (#15775)
authorRuben Ortlam <redacted>
Wed, 3 Sep 2025 20:55:10 +0000 (22:55 +0200)
committerGitHub <redacted>
Wed, 3 Sep 2025 20:55:10 +0000 (21:55 +0100)
ggml/src/ggml-vulkan/ggml-vulkan.cpp

index 2f86b22c4a3f48a76ef8e5100ea1ff265dae56f3..3cd5af1cdc4562f0a3209e4169f0b8b7201fb8a3 100644 (file)
@@ -2937,9 +2937,7 @@ static void ggml_vk_load_shaders(vk_device& device) {
 
     const bool use_subgroups = device->subgroup_arithmetic && device->architecture != vk_device_architecture::AMD_GCN;
     // Ensure a subgroup size >= 16 is available
-    const bool use_subgroups16 = use_subgroups &&
-                                    (!device->subgroup_size_control && device->subgroup_size >= 16 ||
-                                    device->subgroup_size_control && device->subgroup_min_size <= 16 && device->subgroup_max_size >= 16);
+    const bool use_subgroups16 = use_subgroups && subgroup_min_size_16;
 
     const uint32_t subgroup_size = (device->vendor_id == VK_VENDOR_ID_INTEL && device->subgroup_size_control && device->subgroup_min_size <= 16 && device->subgroup_max_size >= 16) ? 16 : device->subgroup_size;
     const uint32_t subgroup_size16 = std::max(subgroup_size, 16u);