mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-11-12 10:47:01 +00:00
vulkan: fix mmv subgroup16 selection (#15775)
This commit is contained in:
@@ -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;
|
const bool use_subgroups = device->subgroup_arithmetic && device->architecture != vk_device_architecture::AMD_GCN;
|
||||||
// Ensure a subgroup size >= 16 is available
|
// Ensure a subgroup size >= 16 is available
|
||||||
const bool use_subgroups16 = use_subgroups &&
|
const bool use_subgroups16 = use_subgroups && subgroup_min_size_16;
|
||||||
(!device->subgroup_size_control && device->subgroup_size >= 16 ||
|
|
||||||
device->subgroup_size_control && device->subgroup_min_size <= 16 && device->subgroup_max_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_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);
|
const uint32_t subgroup_size16 = std::max(subgroup_size, 16u);
|
||||||
|
|||||||
Reference in New Issue
Block a user