-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to free memory of SuperLU_dist solver? #52
Comments
cdelv
changed the title
How to free memory of SuperLU_dist solver
How to free memory of SuperLU_dist solver?
Jul 19, 2021
I am looping in the MFEM developers, who did the MFEM - SuperLU interface.
Aaron: Do you know what does "delete superlu" do? Perhaps some meta data
structures are not freed, causing memory leak ?
Thanks,
Sherry
…On Mon, Jul 19, 2021 at 4:40 PM Carlos del Valle ***@***.***> wrote:
Hi, I'm using SuperLU with MFEM to solve Stokes equations. The solver
works very well. But I noticed that if I made a for loop of the part of the
solver and call the solver over and over again, it starts using more and
more memory. Even though I'm deleting the solver's pointer.
HypreParMatrix *H = HypreParMatrixFromBlocks(hBlocks, &blockCoeff);
SuperLUSolver *superlu = new SuperLUSolver(MPI_COMM_WORLD);
Operator *SLU_A = new SuperLURowLocMatrix(*H);
superlu->SetOperator(*SLU_A);
superlu->SetPrintStatistics(true);
superlu->SetSymmetricPattern(true);
superlu->SetColumnPermutation(superlu::PARMETIS);
superlu->SetIterativeRefine(superlu::SLU_DOUBLE);
//Solve the linear system Ax=B
X.Randomize();
superlu->Mult(B, X);
//Delete used memory
delete H;
delete superlu;
delete SLU_A;
I tried to use delete[] superlu and other ways of freeing the memory but
nothing works. It's important to make that work because I want to use the
solver in conjunction with a time-dependent problem and I have to call it
multiple times. What should I do to fix the problem?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#52>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACZSV577OZJIYUAP4Y3CFTLTYSZVXANCNFSM5AUVIOCA>
.
|
To complement this @xiaoyeli , I have been searching for a potential solution and found this http://www.elmerfem.org/forum/viewtopic.php?t=3625. I also have found people reporting similar leaks. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, I'm using SuperLU with MFEM to solve Stokes equations. The solver works very well. But I noticed that if I made a for loop of the part of the solver and call the solver over and over again, it starts using more and more memory. Even though I'm deleting the solver's pointer.
I tried to use delete[] superlu and other ways of freeing the memory but nothing works. It's important to make that work because I want to use the solver in conjunction with a time-dependent problem and I have to call it multiple times. What should I do to fix the problem?
The text was updated successfully, but these errors were encountered: