Page 1 of 1

Yambo 4.3.3 compilation with ifort

Posted: Sun Jan 05, 2020 12:41 am
by haseebphysics1
Hi Yambo developers,

I am probably facing an issue with the compilation of Yambo 4.3.3. I was using the same with GCC before and it is still working fine. But now I have compiled it with ifort to see if any improvement in speed. Apparently it was successful in the compilation process. But when I try to do a calculation, segmentation fault error comes in!

I am attaching the report file and here is the result on the shell :

Code: Select all


 <---> [01] CPU structure, Files & I/O Directories
 <---> [02] CORE Variables Setup
 <---> [02.01] Unit cells
 <---> [02.02] Symmetries
 <---> [02.03] RL shells
 <---> [02.04] K-grid lattice
 <---> [02.05] Energies [ev] & Occupations
 <---> [03] Transferred momenta grid
 <---> [RL indx] Q-grid:User defined / from ndb.kindx.
 <---> X indexes |########################################| [100%] --(E) --(X)
 <---> SE indexes |########################################| [100%] --(E) --(X)
 <---> [04] Response Functions in Transition space
 <---> [04.01] Transition Groups build-up
 <---> [04.02] CPU-dependent Block structure
 <---> [BSK] Size (resonant) 2048
 <---> [BSK]         (total) 2048
 <---> [04.03] Independent Particles absorption
 <---> [DIP] Checking dipoles header
 <---> [04.04] Bethe-Salpeter (Resonant CORRRELATION EXCHANGE)
 <---> [WARNING] Hartree S/K FFT size is too big. NG_H reduced: 14841 --> 5029
 <---> [WARNING] Bigger FFT discarded to avoid slow XC S/K computation.
 <---> [04.04.01] Screened interaction header I/O
 <---> [WF] Performing Wave-Functions I/O from ./SAVE
 <---> [FFT-BSK] Mesh size: 24  24  24Segmentation fault

while my configure command was something like this:

Code: Select all

./configure FC=ifort F77=ifort CC=icc  --enable-msgs-comps --with-lapack-libs=${MKLROOT}/lib/intel64 --with-fft-libs=${MKLROOT}/lib/intel64 --with-blas-libs=${MKLROOT}/lib/intel64 --with-scalapack-libs=${MKLROOT}/lib/intel64  --with-netcdf-lib=/mnt/datadrive/transferdata/packages/NetCDF/installation/lib 
The same calculation with the same input arguments works fine for the same Yambo version compiled with GCC!

Any solution or suggestion will be appreciated in this regard.

Regards,
Haseeb Ahmad,
MS - Physics
LUMS - Pakistan.

Re: Yambo 4.3.3 compilation with ifort

Posted: Sun Jan 05, 2020 11:56 am
by Daniele Varsano
Dear Haseeb,
it is possible that some of the libraries you are linking it is not compiled with the same compilers you are using to compile the source.
In order to verify this, can you try to compile by using the keyword --enable-int-linalg and removing the link to the blas and lapack libs?
In this way, yambo will compile its own linear algebra libraries.
If problem persists, please post also your config.log file.

Best,
Daniele

Re: Yambo 4.3.3 compilation with ifort

Posted: Sun Jan 05, 2020 8:27 pm
by haseebphysics1
Thanks very much, dear Daniele.

I tried your suggestion and it seems to be working as the calculation started this time both in the interactive and in batch submission mode!

This time I had passed the following command in the fresh installation folder:

Code: Select all

./configure FC=ifort F77=ifort CC=icc  --enable-msgs-comps   --enable-int-linalg
which means, I have indeed used ifort compiler which I wanted but along the way Yambo installed different libraries like blas, fftw, iotk, netcdf, netcdf-fortran etc as one can predict (I think those libraries must also have been compiled with ifort now?). In my original question, I also compiled NetCDF and HDF5 with ifort! But that didn't work either!

Now, can you please suggest a few things here?

1: How much will it make a difference approx. in the computation time, between using internal or downloaded libraries compiled with ifort and the ones which come with ifort, like BLAS, LAPACK, FFTW3, ScaLAPACK, etc?

I wanted to use math libraries of intel compiler as I think they will be faster in matrix operations?

2: How I can proceed now to use ifort libraries in the linking and compiling Yambo?

Note: I have not installed Zlib and SZIP libraries in HDF5 installation and used the following in the ./configure of the NetCDF.

Code: Select all

 --disable-netcdf-4  
I followed the guide on the intel website in installations of the libraries. And all make check tests were passed.


Regards,
Haseeb Ahmad
MS - Physics
LUMS - Pakistan.

Re: Yambo 4.3.3 compilation with ifort

Posted: Tue Jan 07, 2020 9:37 am
by Daniele Varsano
Dear Haseeb,
among the libs you mentioned, I think the only ones that can affect the performance are the linear algebra (lapack/blas).
In your previous compilation, it seems that they are linked properly but for some reason, they are not compatible with the compiler you are using,
a different version of intel compiler? Do they work for other codes or for a simple test you can prepare?
This is something maybe you can check with your system administrator.

Best,
Daniele

Re: Yambo 4.3.3 compilation with ifort

Posted: Tue Jan 07, 2020 3:39 pm
by Daniele Varsano
Dear Haseeb,
please have also a look to this post:
viewtopic.php?p=8193&sid=89e72bb2e022f6 ... 925a#p8193
and check in your ./config/setup file if all the settings are pointing to an intel compilation.

Best,
Daniele

Re: Yambo 4.3.3 compilation with ifort

Posted: Mon Jan 13, 2020 1:23 pm
by haseebphysics1
Thank very much dear Daniele, provided link (ans by Dr. Andrea) was very helpful for me and it worked.




Regards,
Haseeb Ahmad
LUMS