]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
whisper : add check for CPU backend initialization (#2918)
authorDaniel Bevenius <redacted>
Fri, 21 Mar 2025 08:53:26 +0000 (09:53 +0100)
committerGitHub <redacted>
Fri, 21 Mar 2025 08:53:26 +0000 (09:53 +0100)
This commit adds a check for the CPU backend initialization in the
whisper library. If the initialization fails, an exception is thrown.

The motivation for this change is to make the library more robust and
handle the case when the CPU backend initialization fails.

Resolves: https://github.com/ggerganov/whisper.cpp/issues/2917

src/whisper.cpp

index 2c535cfd05db81aef998f2c761bd680b59a70f47..1fcb670e3ac64884809820096ca22662a596d011 100644 (file)
@@ -1355,7 +1355,11 @@ static std::vector<ggml_backend_t> whisper_backend_init(const whisper_context_pa
 
     GGML_UNUSED(params);
 
-    result.push_back(ggml_backend_init_by_type(GGML_BACKEND_DEVICE_TYPE_CPU, nullptr));
+    ggml_backend_t backend_cpu = ggml_backend_init_by_type(GGML_BACKEND_DEVICE_TYPE_CPU, nullptr);
+    if (backend_cpu == nullptr) {
+        throw std::runtime_error("failed to initialize CPU backend");
+    }
+    result.push_back(backend_cpu);
 
     return result;
 }