How to build MPI libraries for 64-bit integers¶
If you want to use 64-bit integers in parallel DIRAC, you also need 64-bit integers in your MPI installation.
64-bit OpenMPI¶
Please check the integer type of your currently available OpenMPI installation (perhaps it can do 64-bit integers already). For this, type:
ompi_info -a | grep 'Fort integer size'
if the output contains 8 for 64-bit integers
Fort integer size: 8
then you have a suitable 64-bit OpenMPI installation which uses 64-bit (or 8-bytes) integers by default. If the outpus shows 4, you have 32-bit integers.
If you decided that you want to build 64-bit OpenMPI yourself (what is not difficult), then download the latest stable source from http://www.open-mpi.org/ and extract it. Then enter the directory and configure OpenMPI (edit prefix path).
For Intel compilers use:
./configure CXX=icpc CC=icc F77=ifort FC=ifort FFLAGS=-i8 FCFLAGS=-i8 CFLAGS=-m64 CXXFLAGS=-m64 --prefix=/path/to/your_openmpi
For GNU compilers type:
./configure CXX=g++ CC=gcc F77=gfortran FC=gfortran FFLAGS="-m64 -fdefault-integer-8" FCFLAGS="-m64 -fdefault-integer-8" CFLAGS=-m64 CXXFLAGS=-m64 --prefix=/path/to/your_openmpi
Once the configure step is finished (lot of output, at the end there should be no error), build the library:
make -jN
make all install
Finally export the path locations in .bashrc (or in the corresponding file if you don’t use bash-shell):
export PATH=$PATH:'/path/to/your_openmpi/bin'
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'/path/to/your_openmpi/lib'
export MANPATH=$MANPATH:'/path/to/your_openmpi/share/man'