Page 1 of 1

abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 2:40 pm
by weitong
My OS is CentOS6.4. Openmpi is installed with yum.
My installation procedure is following:
1. download plugins into ~/.abnint/tarballs
2. eneter folder abinit-7.2.1

Code: Select all

$ ./configure --enable-mpi  --with-mpi-prefix=/usr/lib64/openmpi/bin --with-tardir=/home/weitong/.abinit/tarballs/

==============================================================================
=== Final remarks ===
==============================================================================


Summary of important options:

* C compiler : gnu version 4.4
* Fortran compiler: gnu version 4.4
* architecture : unknown unknown (64 bits)

* debugging : basic
* optimizations : standard

* OpenMP enabled : no (collapse: ignored) // What does it mean here?
* MPI enabled : yes
* MPI-IO enabled : no
* GPU enabled : no (none)

* TRIO flavor = netcdf-fallback+etsf_io-fallback
* TIMER flavor = abinit (libs: ignored)
* LINALG flavor = netlib (libs: auto-detected)
* ALGO flavor = none (libs: ignored)
* FFT flavor = none (libs: ignored)
* MATH flavor = none (libs: ignored)
* DFT flavor = libxc-fallback+atompaw-fallback+bigdft-fallback+wannier90-fallback

Configuration complete.
You may now type "make" to build ABINIT.
(or, on a SMP machine, "make mj4", or "make multi multi_nprocs=<n>")

3. then make

Code: Select all

$ make mj4

included in m_profiling.F90:18 :
../../config.h:666: error:#error "HAVE_MPI1 and HAVE_MPI2 are both undefined"
m_profiling.F90:275: Error: Can't open included file 'mpif.h'
included in interfaces_11_memory_mpi.F90:24 :
../../config.h:666: error:#error "HAVE_MPI1 and HAVE_MPI2 are both undefined"
make[5]: *** [m_profiling.o] error 1
make[5]: *** waiting for unfinished jjob....
make[5]: Leaving directory `/home/weitong/downloads/abinit-7.2.1/src/11_memory_mpi'
make[4]: *** [all-recursive] error 1
make[4]: Leaving directory `/home/weitong/downloads/abinit-7.2.1/src'
make[3]: *** [all-recursive] error 1
make[3]: Leaving directory `/home/weitong/downloads/abinit-7.2.1'
make[2]: *** [all] error 2
make[2]: Leaving directory `/home/weitong/downloads/abinit-7.2.1'
make[1]: *** [multi] error 2
make[1]: Leaving directory `/home/weitong/downloads/abinit-7.2.1'
make: *** [mj4] error 2

Then I searched "mpif.h". it is locates in /usr/include/openmpi-x86_84.

What is the solution? Thanks

WT

Re: abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 3:40 pm
by gmatteo
Try with

./configure --with-mpi-prefix=/usr/lib64/openmpi/ --with-tardir=/home/weitong/.abinit/tarballs/

* OpenMP enabled : no (collapse: ignored) // What does it mean here?


It simply means that OpenMP support (threads for shared memory architectures) is not enabled.
Note that OpenMP is by no means related to openmpi (MPI) albeit their names are similar.

Re: abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 5:06 pm
by weitong
After this configure,

Code: Select all

./configure --with-mpi-prefix=/usr/lib64/openmpi/ --with-tardir=/home/weitong/.abinit/tarballs/

Make can be completed.
But configure (without --enable-mpi) results in
* MPI enabled : no
Is this OK?


Thanks.
WT

Re: abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 5:26 pm
by gmatteo
Could you post the log file config.log?

Re: abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 6:05 pm
by weitong
With this configure (with option "--enable-mpi"), I get the following error.

Code: Select all

$ ./configure --enable-mpi --with-mpi-prefix=/usr/lib64/openmpi/ --with-tardir=/home/weitong/.abinit/tarballs


checking for gcc... /usr/lib64/openmpi//bin/mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/home/weitong/setup/abinit/abinit-7.2.1':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details


config.log is attached.

Re: abinit 7.2.1 with openmpi

Posted: Sat May 11, 2013 7:01 pm
by gmatteo
./conftest: error while loading shared libraries: libmpi.so.1: cannot open shared object file: No such file or directory
configure:10822: $? = 127

I guess the library is located in /usr/lib64/openmpi/lib but this directory in not known to the the linker.

Try with
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH

Re: abinit 7.2.1 with openmpi  [SOLVED]

Posted: Sun May 12, 2013 8:18 am
by weitong
I tried.
Yes, it does work with

Code: Select all

export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
.

Thanks, gmatteo!

Re: [SOLVED] abinit 7.2.1 with openmpi

Posted: Sat Jun 15, 2013 8:52 pm
by cengiz
hi
i have same problem too but
although i enter this code export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
same problem still exist.

i am adding config.log file