[Q-e-developers] Massive memory leak caused by intel 2017.1
Filippo Spiga
spiga.filippo at gmail.com
Tue Feb 21 15:28:11 CET 2017
On Feb 21, 2017, at 1:35 PM, Lorenzo Paulatto <lorenzo.paulatto at impmc.upmc.fr> wrote:
> I'm experiencing a massive memory leak in pw.x when compiled with the very last ifort:
> ifort (IFORT) 17.0.1 20161005
> I could track the source of the leak to PW/src/addusdens.f90, and more precisely to the line
> ALLOCATE ( skk(ngm,nab), tbecsum(nij,nab,nspin_mag), aux2(ngm,nij) )
> which allocates 3 variable that should be freed further down (line 135) but for some bug (?) aren't.
>
> I tried to change the subroutine around, and even to comment almost all of it out, in case some of the instructions between ALLOCATE and DEALLOCATE corrupts the stack and render the deallocation impossible. The problem persisted. Also compiling the subroutine without optimization had no effect.
>
> Can anybody with access to this compiler verify if they have the same problem?
Paolo seems to have the same compiler version but he has not experienced any problem. What GCC you have installed on your system? What GLIBC?
> Of course this is an intel problem, not a QE one, but considered that ifort is the most popular compiler, and that this bug affects the latest version I'm afraid it would be better to fix this issue, one way or another, before releasing QE 6.1, or risk being submerged by complaints.
We can always blacklist that version of the compiler explicitly by telling the configure to stop if Intel 2017 is detected) or but a line in the ChangeLog by saying "do not use Intel 17".
GCC is popular as well and there are people running versions of GCC that have no Fortran 2003 features. Intel compilers are not exepted of compiler bugs or even performance issue. Despite I have Intel 2017 available in my HPC but I still use Intel 16 because I trust a "previous to the latest" version more than the latest released.
--
Filippo SPIGA ~ http://fspiga.github.io ~ skype: filippo.spiga
More information about the developers
mailing list