vulkan: disable large mmv subgroups on older Nvidia GPUs (#15717)
This commit is contained in:
parent
078ce23ea7
commit
fec7911f8f
|
|
@ -4662,7 +4662,7 @@ static vk_pipeline ggml_vk_get_dequantize_mul_mat_vec(ggml_backend_vk_context *
|
||||||
|
|
||||||
// heuristic to choose workgroup size
|
// heuristic to choose workgroup size
|
||||||
uint32_t dmmv_wg = DMMV_WG_SIZE_SUBGROUP;
|
uint32_t dmmv_wg = DMMV_WG_SIZE_SUBGROUP;
|
||||||
if (ctx->device->vendor_id == VK_VENDOR_ID_NVIDIA || ctx->device->vendor_id == VK_VENDOR_ID_INTEL) {
|
if ((ctx->device->vendor_id == VK_VENDOR_ID_NVIDIA && ctx->device->architecture != vk_device_architecture::NVIDIA_PRE_TURING) || ctx->device->vendor_id == VK_VENDOR_ID_INTEL) {
|
||||||
// Prefer larger workgroups when M is small, to spread the work out more
|
// Prefer larger workgroups when M is small, to spread the work out more
|
||||||
// and keep more SMs busy.
|
// and keep more SMs busy.
|
||||||
// q6_k seems to prefer small workgroup size even for "medium" values of M.
|
// q6_k seems to prefer small workgroup size even for "medium" values of M.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue