Difference between revisions of "OpenMPI"

From CBLFS
Jump to navigationJump to search
 
(5 intermediate revisions by 2 users not shown)
Line 22: Line 22:
 
|<i>--without-xgrid</i>: Suppress building Apple's XGrid batch system.
 
|<i>--without-xgrid</i>: Suppress building Apple's XGrid batch system.
 
|}
 
|}
 +
 +
{{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 ==
 
== Non-Multilib ==
Line 27: Line 29:
 
Compile the package:
 
Compile the package:
  
  ./configure --prefix=/usr \  
+
  ./configure --prefix=/usr --sysconfdir=/etc \
 
  --disable-mpi-f77 --without-xgrid &&
 
  --disable-mpi-f77 --without-xgrid &&
 
  make
 
  make
Line 43: Line 45:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32} \  
+
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32} \
  ./configure --prefix=/usr --disable-mpi-f77 \  
+
  ./configure --prefix=/usr \
 +
--sysconfdir=/etc --disable-mpi-f77 \
 
  --without-xgrid &&
 
  --without-xgrid &&
 
  make
 
  make
Line 56: Line 59:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32} \  
+
  CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32} \
  ./configure --prefix=/usr --libdir=/usr/lib32 \  
+
  ./configure --prefix=/usr \
 +
--sysconfdir=/etc --libdir=/usr/lib32 \
 
  --disable-mpi-f77 --without-xgrid &&
 
  --disable-mpi-f77 --without-xgrid &&
 
  make
 
  make
Line 69: Line 73:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64} \  
+
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64} \
  ./configure --prefix=/usr --libdir=/usr/lib64 \  
+
  ./configure --prefix=/usr \
 +
--sysconfdir=/etc --libdir=/usr/lib64 \
 
  --disable-mpi-f77 --without-xgrid &&
 
  --disable-mpi-f77 --without-xgrid &&
 
  make
 
  make
Line 124: Line 129:
 
|
 
|
 
|}
 
|}
 +
 +
[[Category:Programming]]
 +
[[Category:Clusters_Grids]]

Latest revision as of 08:55, 19 October 2010

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

Retrieved from "?title=OpenMPI&oldid=20327"