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)
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
Thanks!