There is an excellent article on how to build OpenMPI Libraries for 64-bit integers. For more detailed information, do look at How to build MPI libraries for 64-bit integers
The information on this website is taken from the above site.
Step 1: Check the integer size. Do the following. If the output is as below, you have to compile OpenMPI with 64 bits.
# ompi_info -a | grep 'Fort integer size' Fort integer size: 4
Intel Compilers Step 2a: To compile OpenMPI with Intel Compilers and with 64-bits integers, do the following:
# ./configure --prefix=/usr/local/openmpi CXX=icpc CC=icc F77=ifort FC=ifort FFLAGS=-i8 FCFLAGS=-i8 # make -j 8 # make install
* GNU Compilers
Step 2b: To compile OpenMPI with GNU Compilers and with 64-bits, do the followings:
# ./configure --prefix=/usr/local/openmpi CXX=g++ CC=gcc F77=gfortran FC=gfortran \ FFLAGS="-m64 -fdefault-integer-8" \ CFLAGS="-m64 -fdefault-integer-8" \ CFLAGS=-m64 \ CXXFLAGS=-m64 # make -j 8 # make install
Step 3: Update your PATH and LD_LIBRARY_PATH in your .bashrc
export $PATH=/usr/local/openmpi/bin:$PATH export $LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH
Verify that the installation is correct
# ompi_info -a | grep 'Fort integer size' Fort integer size: 8
Thanks for the post!
There is one think one should correct in order to do a right compilaton.
Using GNU compilers, the right command is ‘FCFLAGS=”-m64 -fdefault-integer-8″ ‘ (instead of ‘CFLAGS=”-m64 -fdefault-integer-8″ ‘)