diff --git a/mlx/backend/metal/allocator.cpp b/mlx/backend/metal/allocator.cpp index 9911acef1..2c81482a5 100644 --- a/mlx/backend/metal/allocator.cpp +++ b/mlx/backend/metal/allocator.cpp @@ -48,6 +48,9 @@ int BufferCache::clear() { int n_release = 0; for (auto& [size, holder] : buffer_pool_) { if (holder->buf) { + if (holder->buf->heap()) { + residency_set_.erase(holder->buf); + } holder->buf->release(); n_release++; }