OpenMPI

From CBLFS
Jump to navigationJump to search
Download Source: http://www.open-mpi.org/software/ompi/v1.2/downloads/openmpi-1.2.5.tar.bz2

Introduction to OpenMPI

The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners.

Project Homepage: http://www.open-mpi.org/

Dependencies

Required

Configuration Information

--disable-mpi-f77: A CLFS system uses newer versions of the GCC that don't include F77 support. The configure will fail without passing this switch.
--without-xgrid: Suppress building Apple's XGrid batch system.
Caution.png

Note

Each implementation of MPI (e.g., MPICH2 or OpenMPI) installs certain binaries that have the same name. Subsequent installations will overwrite previous installation. If you plan to use multiple implementations of MPI, it's recommended that you install each in a separate directory structure such as /opt/mpich2 and /opt/openmpi.

Non-Multilib

Compile the package:

./configure --prefix=/usr --sysconfdir=/etc \
--disable-mpi-f77 --without-xgrid &&
make

Install the package:

make install

Multilib

This package does not provide any libraries so only one installation is required.

32Bit

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32} \
./configure --prefix=/usr \
--sysconfdir=/etc --disable-mpi-f77 \
--without-xgrid &&
make

Install the package:

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32} \
./configure --prefix=/usr \
--sysconfdir=/etc --libdir=/usr/lib32 \
--disable-mpi-f77 --without-xgrid &&
make

Install the package:

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64} \
./configure --prefix=/usr \
--sysconfdir=/etc --libdir=/usr/lib64 \
--disable-mpi-f77 --without-xgrid &&
make

Install the package:

make install

Configuring

Create a host list for OpenMPI to use. This is not used automatically, but may specified when calling mpiexec. For example, mpiexec --hostfile $HOME/.openmpi_hosts -np 4 ./clusterjob.

cat > $HOME/.openmpi_hosts << "EOF"
# Begin $HOME/.openmpi_hosts

# This is the master node.
node1 slots=2 max-slots=2
 
# This is slave node 1 with only one processor.
node2
 
# This is slave node 2 with 4 processors, but only 3 may be used.
node3 slots=4 max-slots=3

# End $HOME/.openmpi_hosts
EOF
   

Contents

Installed Directories: None
Installed Programs: mpicc, mpiCC, mpic++, mpicxx, mpif90, mpiexec, mpirun
Installed Libraries: libmpi.{la,so}, libmpi_cxx.{la,so}

Short Descriptions