From f002b368209c8bd67f41dd77c19e6f37e18b41b8 Mon Sep 17 00:00:00 2001 From: ysyapa Date: Thu, 20 Apr 2023 16:26:55 -0400 Subject: [PATCH] Patched GPU memory leak --- Hamiltonian.jl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Hamiltonian.jl b/Hamiltonian.jl index c99b3ea..bfaed69 100644 --- a/Hamiltonian.jl +++ b/Hamiltonian.jl @@ -141,5 +141,9 @@ function eig(H::Hamiltonian{T}, levels::Int; resonances = !H.hermitian)::Tuple{V evals, evecs, info = eigsolve(H, x₀, levels, resonances ? :LI : :SR; ishermitian = H.hermitian, tol = tolerance) resonances || info.converged < levels && throw(error("Not enough convergence")) # don't check convergence for resonances if H.hermitian evals = real.(evals) end + if H.mode == gpu_cutensor # to avoid possible GPU memory leak + CUDA.reclaim() + GC.gc(true) + end return evals, evecs, info end