Skip to content

Memory leak in ELPA diagonalization #2960

@LiuXiaohui123321

Description

@LiuXiaohui123321

Describe the bug

When using ABACUS to do structure relaxation calculation, I find that the amount of the memory used will gradually increase with the calculation steps. I use the top command to dynamically view the amount of memory used, for example,
Moment 1:
relax-01
Moment 2:
relax-02
I also use Grafana to give a graph of the results of the amount of memory used over time,
relax-mem

To determine whether the memory leak is coming from scf or relaxation, I do another somewhat "extreme" test,

scf_thr 1e-20
scf_nmax 10000

and also use the top command and Grafana
Moment 1:
scf-01
Moment 2:
scf-02
scf-mem

It appears that the memory leak is at least in the scf process. And the relaxation process needs more tests.

Expected behavior

No response

To Reproduce

memLeak.tar.gz

  1. ABACUS: version 3.2.2
  2. Build: intel-2019.update5, intelmpi-2019.update5, mkl-2019.update5, gcc-9.2.0; cmake
  3. Run: mpirun -n 40 abacus

Environment

  • gcc-9.2.0
  • intel-2019.update5
  • intelmpi-2019.update5
  • mkl-2019.update5

Additional Context

No response

Task list for Issue attackers

  • Verify the issue is not a duplicate.
  • Describe the bug.
  • Steps to reproduce.
  • Expected behavior.
  • Error message.
  • Environment details.
  • Additional context.
  • Assign a priority level (low, medium, high, urgent).
  • Assign the issue to a team member.
  • Label the issue with relevant tags.
  • Identify possible related issues.
  • Create a unit test or automated test to reproduce the bug (if applicable).
  • Fix the bug.
  • Test the fix.
  • Update documentation (if necessary).
  • Close the issue and inform the reporter (if applicable).

Metadata

Metadata

Labels

BugsBugs that only solvable with sufficient knowledge of DFTInterfacesInterfaces with other packages

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions