From: Winston Ma Date: Wed, 27 May 2026 09:48:40 +0000 (+0800) Subject: vulkan: avoid preferring transfer queue on AMD UMA devices (#22455) X-Git-Tag: upstream/0.0.10438~1081 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=4d8cc0c56ffba3f8b7fdb0130627fed2a6f71958;p=pkg%2Fggml%2Fsources%2Fllama.cpp vulkan: avoid preferring transfer queue on AMD UMA devices (#22455) --- diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 18d7cedad..f45b9cfd1 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -5841,8 +5841,12 @@ static vk_device ggml_vk_get_device(size_t idx) { ggml_vk_load_shaders(device); - // Only use transfer queue on AMD non-GCN, when the graphics queue is not enabled - const bool prefers_transfer_queue = device->vendor_id == VK_VENDOR_ID_AMD && device->architecture != AMD_GCN && !allow_graphics_queue; + // Prefer a dedicated transfer queue on AMD dGPUs (non-GCN) when graphics queue use is disabled. + const bool prefers_transfer_queue = + device->vendor_id == VK_VENDOR_ID_AMD && + device->architecture != AMD_GCN && + !device->uma && + !allow_graphics_queue; if (!device->single_queue) { const uint32_t transfer_queue_index = compute_queue_family_index == transfer_queue_family_index ? 1 : 0;