diff options
author | Finn Voorhees <finnvoorhees@gmail.com> | 2024-01-03 08:39:43 -0500 |
---|---|---|
committer | Georgi Gerganov <ggerganov@gmail.com> | 2024-01-05 18:02:06 +0200 |
commit | 1bf681f90ef4cf37b36e6d604d3e30fc57eda650 (patch) | |
tree | d2b1789f7503961d8b1cb52da244e4cd078824b0 /ggml-backend.c | |
parent | c1d7cb28d3fed97fbc95fc3c43f0c5e2113e546c (diff) |
ggml : add error handling to graph_compute (whisper/1714)
Diffstat (limited to 'ggml-backend.c')
-rw-r--r-- | ggml-backend.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ggml-backend.c b/ggml-backend.c index 2c375206..53e741cb 100644 --- a/ggml-backend.c +++ b/ggml-backend.c @@ -195,11 +195,14 @@ void ggml_backend_graph_plan_compute(ggml_backend_t backend, ggml_backend_graph_ ggml_backend_synchronize(backend); } -void ggml_backend_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { - backend->iface.graph_compute(backend, cgraph); +bool ggml_backend_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { + if (!backend->iface.graph_compute(backend, cgraph)) { + return false; + } // TODO: optional sync ggml_backend_synchronize(backend); + return true; } bool ggml_backend_supports_op(ggml_backend_t backend, const struct ggml_tensor * op) { @@ -597,7 +600,7 @@ static void ggml_backend_cpu_graph_plan_compute(ggml_backend_t backend, ggml_bac GGML_UNUSED(backend); } -static void ggml_backend_cpu_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { +static bool ggml_backend_cpu_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { struct ggml_backend_cpu_context * cpu_ctx = (struct ggml_backend_cpu_context *)backend->context; struct ggml_cplan cplan = ggml_graph_plan(cgraph, cpu_ctx->n_threads); @@ -611,6 +614,7 @@ static void ggml_backend_cpu_graph_compute(ggml_backend_t backend, struct ggml_c cplan.work_data = cpu_ctx->work_data; ggml_graph_compute(cgraph, &cplan); + return true; } static bool ggml_backend_cpu_supports_op(ggml_backend_t backend, const struct ggml_tensor * op) { |