Difference between revisions of "OpenMPI"
From CBLFS
Jump to navigationJump to searchWeibullguy (talk | contribs) |
Weibullguy (talk | contribs) |
||
(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 |
---|
Contents
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. |
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} |