Page 1 of 1

Compiling Yambo 5.2.0 Piz Daint

Posted: Fri Dec 01, 2023 11:36 am
by aaortega
Compiling Yambo in Piz daint,

Dear developers, I (and the Service Desk from Piz Daint) have been trying to compile Yambo 5.2.0 with no success,

This is what we have

Code: Select all

module load daint-gpu
module load libxc/5.1.7-CrayGNU-21.09
module load cray-hdf5-parallel/1.12.0.4
module load cray-netcdf-hdf5parallel/4.7.4.4
module load cray-fftw/3.3.8.10
module load cray-libsci/20.09.1
./configure FC=ftn CC=cc CXX=CC MPICC=cc FCFLAGS="-fopenmp"  FPP="ftn -E" --enable-open-mp --enable-cuda="cuda11.0,cc60" \
            --with-libxc-path="$EBROOTLIBXC" --with-libxc-includedir="$EBROOTLIBXC/include" --with-libxc-libdir="$EBROOTLIBXC/lib" \
            --with-hdf5-includedir="/opt/cray/pe/hdf5-parallel/1.12.0.4/GNU/8.2/include" --with-hdf5-libdir="/opt/cray/pe/hdf5-parallel/1.12.0.4/GNU/8.2/lib" \
            --with-netcdf-includedir="/opt/cray/pe/netcdf-hdf5parallel/4.7.4.4/GNU/8.2/include" --with-netcdf-libdir="/opt/cray/pe/netcdf-hdf5parallel/4.7.4.4/GNU/8.2/lib" \
            --with-netcdff-includedir="/opt/cray/pe/netcdf-hdf5parallel/4.7.4.4/GNU/8.2/include" --with-netcdff-libdir="/opt/cray/pe/netcdf-hdf5parallel/4.7.4.4/GNU/8.2/lib"
            #--with-fft-includedir="/opt/cray/pe/fftw/3.3.8.10/haswell/include" --with-fft-libdir="$FFTW_DIR"
make yambo -j 8
I've given this a couple more tries and got rid of a few issues:

The `--with-blas/lapack/scalapack-libs` configuration lines are not needed, the ftn and cc/CC compiler wrappers automatically add these
There were some hard-coded Fortran flags that only work with the intel compiler, e.g. `-fqopenmp` instead of `-fopenmp` for gfortran
The default Fortran preprocessor is guessed as `cpp -P -E`, which does not work. FPP="ftn -E" seems to work
With these changes, configure runs through. I'm not able to compile the code though, I'm getting:

Code: Select all

daint101:/scratch/snx3000/sebkelle/yambo/yambo-5.2.0$ make all
\t[lib/slatec] slatec (setup)
\t[lib/math77] math77 (setup)
\t[lib/local] local (setup)
\t[lib/qe_pseudo] qe_pseudo (setup)
make[4]: *** [/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/config/mk/local/rules.mk:9: kind.o] Error 1
qe_pseudo build failed
In the log file at "log/compile_qe_pseudo.log" I can see that the Yambo configure setup injects compiler flags that are invalid, e.g.:

Code: Select all

ftn -c -g -O  -Mnomain    -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/headers/common -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/headers/parser -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/yambo/Ydriver/include -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/driver -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/version -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/external/unknown/ftn/include/    -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/external/unknown/ftn/single/include -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/external/unknown/ftn/single/include  -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/external/unknown/ftn/include -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/external/unknown/ftn/include/   -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/lib/yambo/Ydriver/include -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/driver -I/scratch/snx3000/sebkelle/yambo/yambo-5.2.0/include/version kind.f90
ftn-1221 crayftn: WARNING in command line
  The -O command line option has been specified with no arguments.  It will be ignored.
ftn-78 crayftn: ERROR in command line
  The -M option has an invalid argument, "nomain".
I was wondering if you could give us some feedback ?

Best

Andres Ortega-Guerrero