Page 1 of 1
Bug in GW calulation in yambo 4.2.x ?
Posted: Fri Dec 15, 2017 12:08 am
by claudio
Dear developers
I'm trying to perform a simple GW calculation with yambo 4.2.1 (or 4.2.0) on a small system, but I always get this error
Code: Select all
Xo@q[1] | | [000%] --(E) --(X)
[ERROR] STOP signal received while in :[04] Dynamic Dielectric Matrix (PPA)
[ERROR]Allocation of ggw%WF_symm_i failed
notice that with yambo 4.1.4 the calculation runs, and requires few memory (a two atoms system and few bands).
The run is in serial.
I put in attachment the input files
Best
Claudio
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Fri Dec 15, 2017 9:55 am
by Davide Sangalli
Ciao Claudio,
I tried but I cannot reproduce the error.
Can you also post the configuration options you used.
D.
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Fri Dec 15, 2017 10:57 am
by claudio
Hi Davide
I use ifort 13.1.1, this is my compilation options
./configure FC=ifort F77=ifort CC=icc --with-blas-libs="-mkl=sequential" --with-lapack-libs="-mkl=sequential" --with-fft-libdir="/opt/fftw3/lib/" --with-fft-includedir="/opt/fftw3/include/" --with-fft-path="/opt/fftw3/" --enable-open-mp
and in attachment the config.log
Anyway I will make some test to see if I can make it works on my computer cluster

and let you know
claudio
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Mon Dec 18, 2017 10:42 am
by Davide Sangalli
From version 4.2 you should be able to compile also with
. It may help.
D.
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Mon Dec 18, 2017 1:58 pm
by claudio
Dear Davide
I discussed with Myrta that found the same bug in yambo 4.2.x.
According to her, the bug is due to the combination of Yambo 4.2.x + ifort 13 + openmp
If one turns off the openmp in compilation, the bug disappears.
I tested it and it works. Notice that I was running in serial with 1 thread, but anyway the bug was present.
More recent compilers do not present this bug, so I will not investigate it anymore.
I can work without openmp, my system is small, and next year the system administrator will update the compiler
on my cluster
best
Claudio
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Sun Dec 24, 2017 10:49 am
by Davide Sangalli
Ciao Claudio,
thanks for the report. I'd like to check if the problem is indeed a bug of ifort 13.
If you (or Myrta) have time, please just try to do the run with yambo 4.2 + openmp + ifort13 + --enable-memory-profile.
Best,
D.
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Sat Dec 30, 2017 3:46 pm
by claudio
Dear Davide
I made the test you asked me with yambo 4.2.1 (GPL version)
I compiled one time with openmp and another time without.
Always with ifort 13.
1) Result without open-mp
<---> [MEMORY] Alloc qindx_X(2Mb) TOTAL: 3Mb (traced) 0b (memstat)
<---> [MEMORY] Alloc qindx_S(2Mb) TOTAL: 5Mb (traced) 0b (memstat)
<---> [04] Dynamic Dielectric Matrix (PPA)
<---> [LA] SERIAL linear algebra
<---> [DIP] Checking dipoles header
<---> [MEMORY] Alloc WF%c(84Mb) TOTAL: 92Mb (traced) 0b (memstat)
<01s> [WF] Performing Wave-Functions I/O from ./SAVE
<01s> [FFT-X] Mesh size: 18 18 18
<01s> [X-CG] R(p) Tot o/o(of R) : 4269 41472 100
<02s> Xo@q[1] |########################################| [100%] --(E) --(X)
<02s> X@q[1] |########################################| [100%] --(E) --(X)
2) Result with openmp
<---> [MEMORY] Alloc qindx_X(2Mb) TOTAL: 3Mb (traced) 0b (memstat)
<---> [MEMORY] Alloc qindx_S(2Mb) TOTAL: 5Mb (traced) 0b (memstat)
<01s> [04] Dynamic Dielectric Matrix (PPA)
<01s> [LA] SERIAL linear algebra
<01s> [DIP] Checking dipoles header
<01s> [MEMORY] Alloc WF%c(84Mb) TOTAL: 92Mb (traced) 0b (memstat)
<01s> [WF] Performing Wave-Functions I/O from ./SAVE
<01s> [FFT-X] Mesh size: 18 18 18
<02s> [X-CG] R(p) Tot o/o(of R) : 4269 41472 100
<02s> Xo@q[1] | | [000%] --(E) --(X)
<02s> [WARNING]Allocation of ggw%rho_tw_rs failed. Object was already allocated, tough, not present in the archive.
[ERROR] STOP signal received while in :[04] Dynamic Dielectric Matrix (PPA)
[ERROR]Allocation of ggw%WF_symm_i failed
Notice that I have done all the runs in serial and with only one thread.
Now I get that ggw%rho_tw_rs is already allocated.
Best
Claudio
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Sat Dec 30, 2017 7:12 pm
by Davide Sangalli
Thanks.
I think the error message maybe wrong.
It's a very new internal yambo message.
It seems that the line making it crash is number 208 in src/pol_function/X_irredux.F
Code: Select all
call elemental_collision_alloc(Xo_scatt,NG=ngrho,TITLE="Xo")
End in particular, in src/modules/mod_collision_el.F
The lines 103-104
Code: Select all
if (fft_size>0) then
YAMBO_ALLOC(ggw%rho_tw_rs,(fft_size))
YAMBO_ALLOC(ggw%WF_symm_i,(fft_size,n_spinor))
YAMBO_ALLOC(ggw%WF_symm_o,(fft_size,n_spinor))
endif
I'd be curious to see how much is fft_size there.
Xo_scatt, which is the allocated object here, is "omp private".
So the amount of memory needed increases while increasing the number of threads.
But, since you are just using 1 thread and not much memory anyway, it really seems a bug of ifort13+openmp...
Maybe it has problems to handle omp private fortran types.
Thanks again.
Best,
D.
Re: Bug in GW calulation in yambo 4.2.x ?
Posted: Tue May 29, 2018 1:38 pm
by claudio
Dear all
after updating ifort to the version 18th and moving from openmpi to intempi
the bug disappear on my cluster
best
Claudio