Page 1 of 1

VASP compiled with MPI but still insists it is serial

Posted: Wed Oct 29, 2014 7:06 pm
by Silas
Hi all!

I'm a sysadmin at an HPC system. We have recently acquired VASP and compiled it with MPI support. Basic steps are:

1. Compile OpenMPI with Intel compilers.
2. Use mpif90 (compiled from Intel compilers) to compile VASP (FC=mpif90 in Makefile)

After that, vasp executable works and is linked to MPI libraries. See output of "ldd" command:

Code: Select all

$ ldd /opt/vasp.5.3-mpi/vasp
/opt/vasp.5.3-mpi/vasp: /usr/lib/sgi/intel9/libguide.so: no version information available (required by /opt/vasp.5.3-mpi/vasp)
        linux-gate.so.1 =>  (0xa000000000000000)
        libguide.so => /usr/lib/sgi/intel9/libguide.so (0x200000000005c000)
        libmpi_usempif08.so.0 => /opt/openmpi-1.6.5-intel/lib/libmpi_usempif08.so.0 (0x20000000000e0000)
        libmpi_usempi_ignore_tkr.so.0 => /opt/openmpi-1.6.5-intel/lib/libmpi_usempi_ignore_tkr.so.0 (0x2000000000134000)
        libmpi_mpifh.so.2 => /opt/openmpi-1.6.5-intel/lib/libmpi_mpifh.so.2 (0x2000000000148000)
        libmpi.so.1 => /opt/openmpi-1.6.5-intel/lib/libmpi.so.1 (0x20000000001c0000)
        libiomp5.so => /opt/intel/mkl/10.1.1.019/lib/64/libiomp5.so (0x20000000003e4000)
        libimf.so.6 => /usr/lib/sgi/intel9/libimf.so.6 (0x20000000004b0000)
        libm.so.6.1 => /lib/libm.so.6.1 (0x2000000000760000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x2000000000830000)
        libc.so.6.1 => /lib/libc.so.6.1 (0x200000000086c000)
        /lib/ld-linux-ia64.so.2 (0x2000000000000000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2000000000ac0000)
        libdl.so.2 => /lib/libdl.so.2 (0x2000000000ae0000)
        libunwind.so.7 => /lib/libunwind.so.7 (0x2000000000af8000)
        libopen-rte.so.7 => /opt/openmpi-1.6.5-intel/lib/libopen-rte.so.7 (0x2000000000b48000)
        libopen-pal.so.6 => /opt/openmpi-1.6.5-intel/lib/libopen-pal.so.6 (0x2000000000c98000)
        libnuma.so.1 => /usr/lib/libnuma.so.1 (0x2000000000e80000)
        librt.so.1 => /lib/librt.so.1 (0x2000000000e9c000)
        libutil.so.1 => /lib/libutil.so.1 (0x2000000000ebc000)
        libifport.so.6 => /usr/lib/sgi/intel9/libifport.so.6 (0x2000000000ed0000)
        libifcore.so.6 => /usr/lib/sgi/intel9/libifcore.so.6 (0x2000000000f2c000)
        libintlc.so.6 => /usr/lib/libintlc.so.6 (0x20000000010e8000)
        libifcoremt.so.6 => /usr/lib/sgi/intel9/libifcoremt.so.6 (0x200000000111c000)
        libipr.so.6 => /usr/lib/sgi/intel9/libipr.so.6 (0x200000000130c000)
See there is a missing link to libguide.so. Is this important?

But, after running this version (with mpirun -np 16, for instance), it insists using only one core. And first lines of OUTCAR say this is a serial version:

Code: Select all

 vasp.5.3.5 31Mar14 (build Oct 15 2014 18:38:23) complex                        
  
 executed on             LinuxIFC date 2014.10.29  14:56:51
 serial version
Any helps?

Thanks!

Re: VASP compiled with MPI but still insists it is serial

Posted: Fri Oct 31, 2014 11:36 am
by alex
Hi Silas,

you have to go through the makefile and change the preprocessor tags.
And, btw., Intel 9 ist stone age. ;-) Sorry for that. And Openmpi ist at 1.8.x nowadays.
As long as you are not running a 5 year old OS, you may consider some newer versions. Maybe your libguide error disappears for free though.

Cheers,

alex

Re: VASP compiled with MPI but still insists it is serial

Posted: Fri Oct 31, 2014 2:03 pm
by beck
Dear Silas,

did you enable (at least) the -DMPI directive in the preprocessor line in the Makefile?

Beck