Page 1 of 2

Compiling with parallel built

Posted: Sun Apr 08, 2018 10:26 pm
by amirmehdi89
Dear Yambo users and developers,

I am a new user to Yambo 4.1.4 and I have followed most of the tutorials provided. When I compiled Yambo on a supercomputer the first time, I had loaded prerequisite modules that I thought it would need to compile properly, and it worked perfectly fine until I realized it was a serial built. Thereafter, I've been trying to build it parallel with the following configure:
./configure --with-mpi-libs

but every time I look at my r_setup file it says Serial Build at the top of the file. The command that I use (following the tutorials) for running in parallel is:

mpirun -np 2 yambo -F (and the rest)

but it seems that it does the same calculation in two identical files. Long story short, my inquires are as follows:

1. Is this version of Yambo that I have (4.1.4) parallelizable?
2. If so, I'd appreciate a step by step for building it.
3. Am I using the right command for running the parallel?

Thank you very much everyone for helping me out.


Amir M. Mofrad
University of Missouri-Columbia
Chemical Engineering Department

Re: Compiling with parallel built

Posted: Mon Apr 09, 2018 7:52 am
by Daniele Varsano
Dear Amir,

you can see in the file ./config/report if the source has been compiled in parallel mode. You should find something like:

Code: Select all

# - PARALLEL SUPPORT -
#
# [X] MPI
If this is not the case it means that something went wrong in the compilation with MPI and you can have a look at your config.log (e.g. different version of serial and parallel compiler etc.).
Please consider that:

Code: Select all

./configure --with-mpi-libs
needs you specify the mpi libraries you want to use.
In general, it is enough to indicate the MPI wrapper.

You can upload here your config.log and will have a look.

Best,
Daniele

Re: Compiling with parallel built

Posted: Mon Apr 09, 2018 3:02 pm
by amirmehdi89
Thank you very much for your reply. Attached please find the config.log file.

I had openmpi, netcdf, and fftw modules loaded when I did ./configure and in the report, it is similar to what you said it should look like. However, I still can't run it parallel and I don't know if I'm not using a right command to do so or something is wrong in the compilation process. Thank you

Re: Compiling with parallel built

Posted: Mon Apr 09, 2018 3:34 pm
by Daniele Varsano
Dear Amir,
please sign your post with your affiliation. You can do once for by filling the signature in your profile.

I can't see anything wrong with your config file. Can you post also your ./config/report file?
Are you sure that you have a serial build also after this configure?
Please check if you mpirun wrapper is ok, or if you have other like mpiexec.

Do other codes run in parallel in your machine?

As a final consideration I strongly suggest you to switch to a more recent versione of the code (4.2).

Best,
Daniele

Re: Compiling with parallel built

Posted: Mon Apr 09, 2018 5:16 pm
by amirmehdi89
I just got the newer version and I will let you know. Thank you for your help Daniele.

P.S. Yes, other codes work fine in parallel.

Re: Compiling with parallel built

Posted: Wed Apr 11, 2018 10:43 pm
by amirmehdi89
Regarding this post, I just wanted to let you know I was able to build Yambo in MPI built. Thank you for your help Daniele.

Re: Compiling with parallel built

Posted: Thu Apr 12, 2018 9:07 am
by Daniele Varsano
Great!!
Enjoy yambo in its full capability,

Daniele

Re: Compiling with parallel built

Posted: Mon Feb 04, 2019 1:04 pm
by burkzdemir
Dear Yambo Developers,

I compiled Yambo with parallel. However, when I run with multiple processors it seems to be running Yambo multiple times with single processor. What could be the problem?

Re: Compiling with parallel built

Posted: Mon Feb 04, 2019 1:25 pm
by Daniele Varsano
Dear Burak,
the problem could be related to your MPI libraries or your job launch script.
Impossible to say more with such poor information.
The ./config/setup file can help in spotting the problem.

Best,
Daniele

Re: Compiling with parallel built

Posted: Mon Feb 04, 2019 3:02 pm
by burkzdemir
Following is my setup file.


#========================================================
# Yambo 4.2.4 r.14795 h.84793e9c3 setup
#========================================================
#
# Main setup
#
package_string = Yambo 4.2.4 r.14795 h.84793e9c3
cpu = x86_64
os = linux
keep_objs = yes
make = make
ar = ar
arflags = -ru
cc = gcc
cflags = -g -O2 -D_C_US -D_FORTRAN_US
cpp = gcc -E
cppflags = -P
fpp = gfortran -E -P -cpp
fc = gfortran
fc_kind = gfortran
fcflags = -g -O3 -mtune=native
fcuflags = -g -O0 -mtune=native
f90suffix = .f90
f77 = gfortran
fflags = -g -O3 -mtune=native
fuflags = -g -O0 -mtune=native
package_bugreport = yambo@yambo-code.org
shell = /bin/sh
#
# Paths
#
prefix = /truba/home/bozdemir/yambo-4.2.4
exec_prefix = /truba/home/bozdemir/yambo-4.2.4/bin
libs_prefix = /truba/home/bozdemir/yambo-4.2.4/lib/external
srcdir = /truba/home/bozdemir/yambo-4.2.4
prefix = /truba/home/bozdemir/yambo-4.2.4
libdir = /truba/home/bozdemir/yambo-4.2.4/lib
includedir = /truba/home/bozdemir/yambo-4.2.4/include
sysinclude = /truba/home/bozdemir/yambo-4.2.4/include/system
lblas = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/lib -lblas
llapack = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/lib -llapack
lblacs =
lscalapack =
lmpi =
impi =
mpiidir =
mpildir =
lopenmp =
lnetcdf = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/v3/lib -lnetcdf -lm -lcurl
inetcdf = -I/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/v3/include
lnetcdff = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/v3/lib -lnetcdff
inetcdff = -I/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/v3/include
netcdf_opt = --disable-netcdf-4
netcdf_ver = v3
netcdf_flag = -DgFortran
lhdf5 =
ihdf5 =
hdf5_opt =
llibxc = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/lib -lxcf90 -lxc
ilibxc = -I/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/include
lfft = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/lib -lfftw3
ifft = -I/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/include/
liotk = -L/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/lib -liotk
iiotk = -I/truba/home/bozdemir/yambo-4.2.4/lib/external/gfortran/gfortran/include/
letsf =
ietsf =
#
# VPATH
#
VPATH = $$topdir
#