Skip to Content.
Sympa Menu

forum - Re: Re: Re: [abinit-forum] RAM in PAW

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: Re: Re: [abinit-forum] RAM in PAW


Chronological Thread 
  • From: paul.boulanger@umontreal.ca
  • To: forum@abinit.org
  • Subject: Re: Re: Re: [abinit-forum] RAM in PAW
  • Date: Fri, 14 Oct 2005 23:19:57 +0200

Hi Mark and Eric,

I have been investigating the memory leak and I have found a few
interesting points. First, to verify my intuition that the problem is in
every SCF cycle, I have made a calculation of the Hydrogen molecule, with one
dataset. I chose a ridiculously small ECUT and chose a convergence parameter
such that the numerical error prohibits convergence. I put the nstep variable
extremely high, a hundred thousand. The job began with less then 15 Mo of
real memory and 60 of virtual memory. But, after about 20 minutes and a few
thousands of SCF cycles, the job took 700 Mo of real memory and 853 Mo of
virtual memory. Clearly, the memory leak is present in this job. We can then
be sure that the problem is inside each SCF procedure. The files are
available on demand.

With this in mind, I plunged my self in the source codes of PAW in
Abinit 4.6.4. I found two bizarre statements that can be causing some memory
leaks.

•The first is in the file: Src_3paw/pawmkrhoij.F90 line 136

The variable pawrhoijnk_disk is allocated at this line. But is never
deallocated in the rest of the file. The strange part is that in the
declarations in the beginning of the file, this variable is defined as local.
Then we expect that this variable should be deallocated in this file. Maybe
this is causing some memory leaks.

•The second is in the file: Src_3paw/pawxcm.F90 line 335 , see line: 269
and 277

The problem here seems to come from the deallocate for the variable d1vxc
which is inside a if statement: if (option < 3). But if we look earlier in
the code, we see that it is allocated for all possible values of the variable
option. This signifies that the variable is not deallocated for values of
option bigger then 3. Again, in the declaration of the variables in the
beginning of the file, we see that this variable is local. But this is maybe
not an error, because is seems line 335 was corrected by Mikami.


That concludes my findings for today. Have a great weekend.

paul



Archive powered by MHonArc 2.6.16.

Top of Page