Yambo 5.2.4 qe_pseudo build error

Having trouble compiling the Yambo source? Using an unusual architecture? Problems with the "configure" script? Problems in GPU architectures? This is the place to look.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani

Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
Post Reply
jmcastelo
Posts: 5
Joined: Tue Nov 12, 2024 1:41 pm

Yambo 5.2.4 qe_pseudo build error

Post by jmcastelo » Tue Nov 12, 2024 2:18 pm

Dear community.

I'm trying to parallel compile Yambo 5.2.4 on a cluster with Intel OneApi 2023.2.0 and Intel MPI 2021.10.0.
The architecture is x86_64 GNU/Linux.
This is the configuration script used:

Code: Select all

#!/bin/bash

LIBXC_ROOT="/apps/GPP/LIBXC/6.2.0/INTEL"
YAMBO_LIBS_ROOT="${HOME}/sandbox/yambo-libs"

PREFIX="/gpfs/projects/uv105/apps/YAMBO/5.2.4-SINGLE/INTEL2023.2/IOMPI2021.10"

./configure \
--prefix="${PREFIX}" \
--enable-msgs-comps \
--enable-time-profile \
--enable-mpi \
--enable-open-mp \
--enable-iotk \
--without-editor \
--enable-memory-profile \
--enable-keep-src \
--enable-slepc-linalg \
--enable-hdf5-par-io \
--with-mpi-path="${MPI_ROOT}" \
--with-netcdf-path="${NETCDF_ROOT}" \
--with-netcdff-path="${NETCDF_ROOT}" \
--with-hdf5-path=${HDF5_ROOT} \
--with-fft-includedir="${MKLROOT}/include/fftw" \
--with-fft-libs="-L${MKLROOT}/lib/intel64 -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-blas-libs="-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-lapack-libs="-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-blacs-libs=mkl \
--with-scalapack-libs=mkl \
--with-petsc-path="${PETSC_DIR}" \
--with-slepc-path="${SLEPC_DIR}" \
--with-libxc-path="${LIBXC_ROOT}" \
--with-extlibs-path="${YAMBO_LIBS_ROOT}"
Build process stops with error when compiling qe_pseudo code, as well as iotk code.
Attached please find the config and compilation logs.

Looking at the compilation log errors, which are syntax errors, I get the impression that the compiler is the issue.
How to know which Fortran compiler is being effectively used?
If configuration went fine, MPI Intel compilers should be used, but on the logs it looks like ifx may be causing the syntax errors.

Since the loaded Intel modules set some compiler environment variables (CC, FC, etc.), maybe they are overriding those used set during the configuration phase, but I'm not sure...

Note that the cluster policy does not allow for external downloads to the login nodes, so I had to manually copy both Ydriver-1.4.2.tar.gz and iotk-y1.2.2.tar.gz into the ./lib/archive directory.

Any help will be welcome!
Thanks.
José
You do not have the required permissions to view the files attached to this post.
José M. Castelo
HPC System Administrator
Institute of Materials Science
University of Valencia
Spain

User avatar
Nicola Spallanzani
Posts: 93
Joined: Thu Nov 21, 2019 10:15 am

Re: Yambo 5.2.4 qe_pseudo build error

Post by Nicola Spallanzani » Wed Nov 13, 2024 11:55 am

Dear José,
the compiler that you are using is the old intel ifort, and this is correct because the released versions of yambo only support that (the development version also support the oneapi one, ifx).

However, it seems that the fpp wrapper automatically detected is the one of the new compilers. So try adding this variable definition in your configure line:

Code: Select all

FPP="/gpfs/apps/MN5/GPP/ONEAPI/2023.2.0/compiler/latest/linux/bin/intel64/fpp -free -P" 
Please, before launch the "make distclean" command.

Best,
Nicola
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

jmcastelo
Posts: 5
Joined: Tue Nov 12, 2024 1:41 pm

Re: Yambo 5.2.4 qe_pseudo build error

Post by jmcastelo » Wed Nov 13, 2024 2:55 pm

Thanks Nicola!

Even if I set the Fortran preprocessor variable as you suggested and run "make distclean", the same error arose.
Luckily I had the idea to delete the compilation directory and extract the source code again, starting from scratch with your suggestion.
Then, compilation was successful.

Now, let's feed the team with the devel Yambo versions! :D
Best wishes,
José
José M. Castelo
HPC System Administrator
Institute of Materials Science
University of Valencia
Spain

jmcastelo
Posts: 5
Joined: Tue Nov 12, 2024 1:41 pm

Re: Yambo 5.2.4 qe_pseudo build error

Post by jmcastelo » Wed Nov 13, 2024 3:36 pm

Hi again.

When yambo executable is run on a login node to check that the compilation went fine, the following error arises:

Code: Select all

Abort(1090831) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: Other MPI error, error stack:
MPIR_Init_thread(176):
MPID_Init(1439)......:
MPIR_pmi_init(169)...: PMI2_Job_GetId returned 14
Is this to be expected?
I never saw it before.
José M. Castelo
HPC System Administrator
Institute of Materials Science
University of Valencia
Spain

User avatar
Nicola Spallanzani
Posts: 93
Joined: Thu Nov 21, 2019 10:15 am

Re: Yambo 5.2.4 qe_pseudo build error

Post by Nicola Spallanzani » Wed Nov 13, 2024 3:43 pm

I think it is correct if you have launched the executable by itself.
Try using also mpirun or mpiexec before the yambo executable.
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

jmcastelo
Posts: 5
Joined: Tue Nov 12, 2024 1:41 pm

Re: Yambo 5.2.4 qe_pseudo build error

Post by jmcastelo » Wed Nov 13, 2024 3:50 pm

With mpirun, it looks like lots of MPI processes start, with the following output excerpt:

Code: Select all

MPI startup(): Warning: I_MPI_PMI_LIBRARY will be ignored since the hydra process manager was found
forrtl: No such file or directory
forrtl: severe (29): file not found, unit 13, file /gpfs/home/uv/uvuser/./LOG/l_setup_CPU_38
Image              PC                Routine            Line        Source
yambo              0000000001427C5C  for_open              Unknown  Unknown
yambo              00000000005DFB3A  Unknown               Unknown  Unknown
yambo              00000000005D6E29  Unknown               Unknown  Unknown
yambo              000000000041A2D3  Unknown               Unknown  Unknown
yambo              00000000008013E5  Unknown               Unknown  Unknown
yambo              0000000000419545  Unknown               Unknown  Unknown
libc.so.6          00007FD22D4CCEB0  Unknown               Unknown  Unknown
libc.so.6          00007FD22D4CCF60  __libc_start_main     Unknown  Unknown
yambo              0000000000419365  Unknown               Unknown  Unknown

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 3298546 RUNNING AT glogin2
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================
Any idea if this is to be expected?
José M. Castelo
HPC System Administrator
Institute of Materials Science
University of Valencia
Spain

jmcastelo
Posts: 5
Joined: Tue Nov 12, 2024 1:41 pm

Re: Yambo 5.2.4 qe_pseudo build error

Post by jmcastelo » Wed Nov 13, 2024 4:02 pm

I guess it is fine, because when run as:

Code: Select all

mpiexec -n 1 yambo
The usual yambo error message (cannot access CORE datables) is displayed and the MPI process aborts.
José M. Castelo
HPC System Administrator
Institute of Materials Science
University of Valencia
Spain

Post Reply