0001-cuda.patch 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: jmorganca <jmorganca@gmail.com>
  3. Date: Thu, 6 Jun 2024 23:55:47 -0700
  4. Subject: [PATCH] cuda
  5. ---
  6. ggml/src/ggml-backend.cpp | 5 +++++
  7. ggml/src/ggml-cuda/ggml-cuda.cu | 4 ++++
  8. 2 files changed, 9 insertions(+)
  9. diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp
  10. index fdb4b986..9b80fe07 100644
  11. --- a/ggml/src/ggml-backend.cpp
  12. +++ b/ggml/src/ggml-backend.cpp
  13. @@ -106,7 +106,12 @@ void ggml_backend_buffer_free(ggml_backend_buffer_t buffer) {
  14. if (buffer->iface.free_buffer != NULL) {
  15. buffer->iface.free_buffer(buffer);
  16. }
  17. +
  18. +// TODO: this needs to be freed in cuda and hip backends because
  19. +// the cuda backend implementation compiled with msvc
  20. +#if !defined(GGML_USE_CUDA) && !defined(GGML_USE_HIP)
  21. delete buffer;
  22. +#endif
  23. }
  24. size_t ggml_backend_buffer_get_size(ggml_backend_buffer_t buffer) {
  25. diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu
  26. index c180adc8..000f1777 100644
  27. --- a/ggml/src/ggml-cuda/ggml-cuda.cu
  28. +++ b/ggml/src/ggml-cuda/ggml-cuda.cu
  29. @@ -424,6 +424,10 @@ struct ggml_backend_cuda_buffer_context {
  30. static void ggml_backend_cuda_buffer_free_buffer(ggml_backend_buffer_t buffer) {
  31. ggml_backend_cuda_buffer_context * ctx = (ggml_backend_cuda_buffer_context *)buffer->context;
  32. delete ctx;
  33. +
  34. + // TODO: this needs to be freed in cuda and hipblas backends because
  35. + // the cuda backend implementation compiled with msvc
  36. + free(buffer);
  37. }
  38. static bool ggml_backend_buffer_is_cuda(ggml_backend_buffer_t buffer) {