"NaN" for "E-E0" and "Sc(E0)"

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

lesheng
Posts: 26
Joined: Thu Feb 07, 2013 11:39 pm

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by lesheng » Fri Mar 29, 2013 1:20 am

Daniele Varsano wrote:Dear Lesheng,
And the repeated keyword are indeed generated by the code itself.
This is a sign that something went wrong in the parallel compilation, and yambo in parallel is not working properly.

Cheers,

Daniele
Dear Daniele,

Thanks, I will try to compile the code again to see if there is still such a problem. I'll post the result here.

Thank you for your time.

Best,
lesheng
PhD candidate
209 South Rd, Chapel Hill, NC 27599
Department of Chemistry
The University of North Carolina at Chapel Hill
Email: leshengl@live.unc.edu

leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by leoteo » Fri Apr 25, 2014 1:20 pm

Hi,

we have actually run into the same problem (calculation runs smoothly, but quasiparticle energies are NaN).

In our case it seems that the reason was a faulty database generated by p2y (despite I don't remember p2y producing any error messages during the conversion).
We tried redoing the GW calculation several times without success (always deleting all databases generated by yambo). Only when we re-created the databases from quantum espresso with p2y (without changing any parameters), we obtained reasonable numbers for the quasiparticle energies.

At the moment I am unable to track down the exact reason for the NaN problem (I will keep my eyes open). But I was wondering, whether it is possible in some way to 'check' the databases before starting the calculation with yambo. Since they are in binary format, a text editor doesn't help very much here...

Best,
Leopold
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Daniele Varsano
Posts: 4002
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by Daniele Varsano » Fri Apr 25, 2014 6:17 pm

Dear Leopold,
if you compile yambo linking with netcdf libraries, you can look into database by typing

Code: Select all

ncdump ./SAVE/ndb.* 
About the NAN it is hard to say what is going wrong.
Hope it helps,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by leoteo » Fri Apr 25, 2014 10:06 pm

Dear Daniele,

thanks a lot, the ncdump utility is exactly what I needed.

It seems that in my case the problem lies in the ns.kb_pp_pwscf anf ns.kb_pp_pwscf_fragment_1 databases.

On the machine, where I have the NaN problem, the contents of the ns.kb_pp_pwscf_fragment_1 database seem to be random -- they change from one run of p2y to the next (all based on the same pwscf data).

One time the data in the PP_KB_K1 variable looks like this

Code: Select all

 PP_KB_K1 =
  0, 3.865156e-15, 3.863288e-15, 3.861117e-15, 3.861117e-15, 3.858642e-15,
    3.85461e-15, 3.85461e-15, 3.853764e-15, 3.851597e-15, 3.851597e-15,
    3.85119e-15, 3.849736e-15, 3.849736e-15, 3.849024e-15, 3.849024e-15,
    3.847809e-15, 3.847572e-15, 3.847572e-15, 3.847572e-15, 3.847572e-15,
    ...
the next time like this

Code: Select all

 PP_KB_K1 =
  0, 1.839352e-08, 1.838463e-08, 1.83743e-08, 1.83743e-08, 1.836252e-08,
    1.834333e-08, 1.834333e-08, 1.833931e-08, 1.8329e-08, 1.8329e-08,
    1.832706e-08, 1.832014e-08, 1.832014e-08, 1.831675e-08, 1.831675e-08,
    1.831097e-08, 1.830984e-08, 1.830984e-08, 1.830984e-08, 1.830984e-08,
   ...
and another time like this

Code: Select all

 PP_KB_K1 =
  0, 3.993321e+16, 3.991392e+16, 3.989148e+16, 3.989148e+16, 3.986591e+16,
    3.982426e+16, 3.982426e+16, 3.981551e+16, 3.979313e+16, 3.979313e+16,
    3.978892e+16, 3.97739e+16, 3.97739e+16, 3.976655e+16, 3.976655e+16,
    3.975399e+16, 3.975154e+16, 3.975154e+16, 3.975154e+16, 3.975154e+16,
   ...
The p2y on this machine was compiled with the intel compiler, while the one on the machine without problems was compiled with gfortran
(for the gfortran executable I also checked that the p2y results are completely reproducible).

I will look further into this..

Best,
Leo
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Daniele Varsano
Posts: 4002
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by Daniele Varsano » Sun Apr 27, 2014 11:58 am

Dear Leo,
thanks for reporting, we will also have a loot al that, can you post the pseudo file?
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
Davide Sangalli
Posts: 622
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by Davide Sangalli » Sun Apr 27, 2014 5:20 pm

Dear Leo,
since your problem seems compiler/architecture related it would be useful to have the instructions you used to compile yambo, i.e. the configure command line.

Also the error happens at the p2y level, it could depend on a different version of the iotk library (?)

Best regards,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by leoteo » Mon Apr 28, 2014 8:20 am

Dear Daniele and Davide,

thank you very much for your helpful suggestions!

We are using the Goedecker-Hartwigsen-Hutter-Teter norm-conserving scalar-relativistic pseudopotentials for PBE
http://www.quantum-espresso.org/wp-cont ... be-hgh.UPF
http://www.quantum-espresso.org/wp-cont ... be-hgh.UPF

For p2y we have taken iotk from QE 5.0.3. We have not compiled the full suite, I only made the part in the iotk subfolder (maybe that was not allowed? I will remake the full suite and test again).
The configure I used is

Code: Select all

export CC=icc
export FC=ifort
export PFC=mpif90

./configure \
--enable-msgs-comps \
--enable-netcdf-hdf5 \
--with-blas="$MKL_LIB" \
--with-lapack="$MKL_LIB" \
--with-blacs="$SCALAPACK_SHLIB" \
--with-scalapack="$SCALAPACK_SHLIB" \
--with-fftw="$FFTW_BASE" \
--with-fftw-lib="$FFTW_LIB" \
--with-netcdf-include="${NETCDF_BASE}/include" \
--with-netcdf-lib="$NETCDF_LIBDIR" \
--with-netcdf-link="$NETCDF_F90_LIB" \
--with-iotk="/gpfs/work/pr89mi/pr3da262/TEST/espresso-5.0.3/iotk" \
--with-p2y="5.0.3" \
and the result at the end of the configure is

Code: Select all

#
# [VER] 3.4.1 r.3187
#
# [SYS] linux@x86_64
# [SRC] /gpfs/work/pr89mi/pr3da262/TEST/yambo-fat/devel
# [BIN] /gpfs/work/pr89mi/pr3da262/TEST/yambo-fat/devel/bin
# [FFT] External Fast Fourier transform
#
# [ ] Double precision
# [X] Redundant compilation
# [X] MPI
# [ ] OpenMP
# [X] PW (5.0) support
# [ ] ETSF I/O support
# [X] SCALAPACK
# [X  ] NETCDF/HDF5/Large Files
# [  X] Built-in BLAS/LAPACK/LOCAL
#
# [ CPP ] icc -E -ansi
# [  C  ] icc -g -O2 -D_C_US -D_FORTRAN_US
# [MPICC] mpicc -g -O2 -D_C_US -D_FORTRAN_US
# [ F90 ] ifort -assume bscc -O3 -ip -xHost
# [MPIF ] mpif90 -assume bscc -O3 -ip -xHost
# [ F77 ] ifort -assume bscc -O3 -ip -xHost
# [Cmain] -nofor_main
# [NoOpt] -assume bscc -O0 -xHost
#
# [ MAKE ] make
# [EDITOR] vim
#
I will try this evening to make further progress.

Best,
Leo
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Davide Sangalli
Posts: 622
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by Davide Sangalli » Mon Apr 28, 2014 4:40 pm

Dear Leopold,
For p2y we have taken iotk from QE 5.0.3. We have not compiled the full suite, I only made the part in the iotk subfolder (maybe that was not allowed? I will remake the full suite and test again).
This should be fine, yambo only needs the iotk library.

Also I had a look to your configure options and everything seems fine to me.
I do not have the intel compilers on my machine, I'm used to work with gfortran. Anyway as soon as I'll be able I'll try to test them too, but it will take some time ...

Meanwhile, thank you for your feedbacks.

Best,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by leoteo » Mon Apr 28, 2014 11:13 pm

Dear Daniele and Davide,

On the 'bad' machine, working with icc/ifort 13.1, I have recompiled QE and also reduced optimization for yambo to -O2 (no -xHost). However, this did solve the problem.

I then moved to the 'good' machine and compiled QE and yambo with the intel compiler 14.0.1.106. Here, the content of the ns.kb_pp_pwscf_fragment_1 database is the same for each run - PP_KB_K1 is completely zero.
However, it is not the same as what I get with the p2y executable compiled with gfortran.

And I have to say that the data in both databases looks a bit strange. I have uploaded the result of ncdump for both databases on dropbox (<25M)

https://www.dropbox.com/s/g1v33cj5rs0hd ... 1_gfortran
https://www.dropbox.com/s/q74vkbx88vhl7 ... nt_1_intel

EDIT: Note also the 'NaNF' at the beginning of variable PP_KBD_K1

It would be great if you could tell me, whether the content of the databases makes sense.

Best,
Leo

P.S. Both executables (intel and gfortran version) were linked againstr Cray's libsci for blas, lapack, scalapack.
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Davide Sangalli
Posts: 622
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: "NaN" for "E-E0" and "Sc(E0)"

Post by Davide Sangalli » Tue Apr 29, 2014 10:37 am

Dear Leopol,
could you also provide your pwscf input file.

I'll try to reproduce your results.

Best regards,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Post Reply