* ggml: use vulkan as gpu backend when available
Signed-off-by: Matt Stephenson <redacted>
* whisper: enable using vk as default buffer type
Signed-off-by: Matt Stephenson <redacted>
---------
Signed-off-by: Matt Stephenson <redacted>
}
static void ggml_vk_init(ggml_backend_vk_context * ctx, size_t idx) {
- GGML_ASSERT(idx < vk_instance.device_indices.size());
VK_LOG_DEBUG("ggml_vk_init(" << ctx->name << ", " << idx << ")");
ggml_vk_instance_init();
+ GGML_ASSERT(idx < vk_instance.device_indices.size());
ctx->name = GGML_VK_NAME + std::to_string(idx);
#include "ggml-sycl.h"
#endif
+#ifdef GGML_USE_VULKAN
+#include "ggml-vulkan.h"
+#endif
+
#ifdef GGML_USE_BLAS
#include "ggml-blas.h"
#endif
}
#endif
+#ifdef GGML_USE_VULKAN
+ if (params.use_gpu) {
+ WHISPER_LOG_INFO("%s: using Vulkan backend\n", __func__);
+ result = ggml_backend_vk_init(params.gpu_device);
+ if (!result) {
+ WHISPER_LOG_ERROR("%s: ggml_backend_vk_init() failed\n", __func__);
+ }
+ }
+#endif
+
return result;
}
result || (result = ggml_backend_sycl_buffer_type(params.gpu_device));
#endif
+#ifdef GGML_USE_VULKAN
+ result || (result = ggml_backend_vk_buffer_type(params.gpu_device));
+#endif
+
result || (result = ggml_backend_cpu_buffer_type());
return result;