summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <[email protected]>2025-01-29 22:33:57 +0100
committerDanny Milosavljevic <[email protected]>2025-02-02 00:24:36 +0100
commit24fad804f3dbdd9e5a653e85bc26e9b834a8cfdf (patch)
tree5709f4b7cc2de94e205f22d9859b7530f379d315
parentaba3e48ae1ce70deba8e6ad63e2ac9b102abfd4d (diff)
gnu: llama-cpp: Make the runtime check safer.
* gnu/packages/patches/llama-cpp-vulkan-optional.patch: Make the runtime check safer. Change-Id: If72148fb3e8bf500d35c0987126a788ec410cdbd
-rw-r--r--gnu/packages/patches/llama-cpp-vulkan-optional.patch25
1 files changed, 12 insertions, 13 deletions
diff --git a/gnu/packages/patches/llama-cpp-vulkan-optional.patch b/gnu/packages/patches/llama-cpp-vulkan-optional.patch
index 9f91b2850d..0d62b5cf14 100644
--- a/gnu/packages/patches/llama-cpp-vulkan-optional.patch
+++ b/gnu/packages/patches/llama-cpp-vulkan-optional.patch
@@ -1,24 +1,23 @@
Author: Danny Milosavljevic <[email protected]>
Date: 2025-01-29
License: Expat
+Subject: Make Vulkan optional
-diff -ru orig/llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp
---- orig/llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp 2025-01-29 06:24:10.922476480 +0100
-+++ llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp 2025-01-29 06:26:45.973357439 +0100
-@@ -7317,9 +7317,13 @@
- }
-
- static int ggml_vk_get_device_count() {
-- ggml_vk_instance_init();
+--- orig/llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp 2025-01-29 10:24:10.922476480 +0100
++++ llama.cpp/ggml/src/ggml-vulkan/ggml-vulkan.cpp 2025-01-29 22:33:19.955087552 +0100
+@@ -8174,8 +8174,13 @@
+ /* .iface = */ ggml_backend_vk_reg_i,
+ /* .context = */ nullptr,
+ };
-
-- return vk_instance.device_indices.size();
+- return &reg;
+ try {
+ ggml_vk_instance_init();
-+ return vk_instance.device_indices.size();
++ return &reg;
+ } catch (const vk::SystemError& e) {
-+ std::cerr << "ggml_vulkan: Error: System error" << std::endl;
-+ return 0;
++ VK_LOG_DEBUG("ggml_vk_get_device_count() -> Error: System error: " << e.what());
++ return nullptr;
+ }
}
- static void ggml_vk_get_device_description(int device, char * description, size_t description_size) {
+ // Extension availability