aboutsummaryrefslogtreecommitdiff
path: root/llama.cpp
diff options
context:
space:
mode:
authorAaron Miller <apage43@ninjawhale.com>2023-07-01 11:14:59 -0700
committerGitHub <noreply@github.com>2023-07-01 21:14:59 +0300
commit2f8cd979ecd1fa582852e7136e92ff8990b98fd8 (patch)
tree78164d2ee6abe345271599f8b0affdafe8035e1d /llama.cpp
parent471aab6e4cb89d8ef6d043f1bc93acb6eb78ab67 (diff)
metal : release buffers when freeing metal context (#2062)
Diffstat (limited to 'llama.cpp')
-rw-r--r--llama.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llama.cpp b/llama.cpp
index 69c2ab0..561accf 100644
--- a/llama.cpp
+++ b/llama.cpp
@@ -253,7 +253,13 @@ struct llama_model {
struct llama_context {
llama_context(const llama_model & model, const llama_vocab & vocab) : model(model), vocab(vocab), t_load_us(model.t_load_us), t_start_us(model.t_start_us) {}
-
+#ifdef GGML_USE_METAL
+ ~llama_context() {
+ if (ctx_metal) {
+ ggml_metal_free(ctx_metal);
+ }
+ }
+#endif
std::mt19937 rng;
bool has_evaluated_once = false;