]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
opencl: bugfix increment ref_count in ggml_backend_opencl_init() (#26162)
authorakleine <redacted>
Sun, 2 Aug 2026 13:43:00 +0000 (15:43 +0200)
committerGitHub <redacted>
Sun, 2 Aug 2026 13:43:00 +0000 (06:43 -0700)
Incrementing `ref_count` at the beginning is important later
in the `free()` method of the `ggml_backend_opencl_context` at program end.
If we do not increment the `ref_count`, the result would be -1 here,
and consequently, the profiling data would not be flushed and written.
( #ifdef GGML_OPENCL_PROFILING )

ggml/src/ggml-opencl/ggml-opencl.cpp

index d07b8fe41a31fb20c14233e54f799d356ae85c4d..388c585fa1210be0311da9e751a91ccd0f4ae6c4 100644 (file)
@@ -7495,6 +7495,7 @@ static ggml_backend_i ggml_backend_opencl_i = {
 ggml_backend_t ggml_backend_opencl_init(void) {
     ggml_backend_dev_t dev = ggml_backend_reg_dev_get(ggml_backend_opencl_reg(), 0);
     ggml_backend_opencl_context *backend_ctx = ggml_cl_init(dev);
+    backend_ctx->ref_count++;
 
     ggml_backend_t backend = new ggml_backend {
         /* .guid    = */ ggml_backend_opencl_guid(),