diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 7b8faf17879d6..396d4da2b03da 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -3759,7 +3759,7 @@ static void ggml_vk_instance_init() { return; } - // Default to using all dedicated GPUs + // Default to using all (dedicated or integratedGpu) GPUs,use GGML_VK_VISIBLE_DEVICES select all dedicated gpus for (size_t i = 0; i < devices.size(); i++) { vk::PhysicalDeviceProperties2 new_props; vk::PhysicalDeviceDriverProperties new_driver; @@ -3768,7 +3768,8 @@ static void ggml_vk_instance_init() { new_driver.pNext = &new_id; devices[i].getProperties2(&new_props); - if (new_props.properties.deviceType == vk::PhysicalDeviceType::eDiscreteGpu) { + if (new_props.properties.deviceType == vk::PhysicalDeviceType::eDiscreteGpu + ||new_props.properties.deviceType == vk::PhysicalDeviceType::eIntegratedGpu) { // Check if there are two physical devices corresponding to the same GPU auto old_device = std::find_if( vk_instance.device_indices.begin(),