Open MPI install on Mac OS X
Table of Contents
Purpose
This HOWTO will guide you through the installation of Open MPI on Mac OS X.
Background
Message Passing Interface (MPI) is an application interface that allows processes to communicate by sending and receiving messages. In essence, it facilitates communication when multiple computers/processors/cores are performing distributed calculations. For people familiar with computer clusters, MPI is the interface that helps the compute nodes talk to each other in parallel computations. I won't provide detailed information about MPI and programming practices for using MPI here, but rather the purpose of this page is to help you install one of the freely available MPI implementations (Open MPI) on a computer running Mac OS X.
Why might you consider installing Open MPI? First, many programs that were designed to run distributed across several computers using MPI can now be run on a multi-core modern desktop computer. To me, this is the biggest motivation, since I can test software more easily on my desktop (or laptop) machine than on a cluster. Second, multi-core computers are the future. Almost any machine purchased in the last year or two has multiple processor cores. Why not put them to use?
Requirements
To install Open MPI as described in this HOWTO, you'll need the following:
- A Mac running Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion) or 10.9 (Mavericks)
- Internet access
- Fortran and or C/C++ compilers (If you don't have compliers installed, check out the HOWTO on installing the GNU compilers)
Instructions
The installation of Open MPI on Mac is surprisingly easy.
- Download source code from http://www.open-mpi.org/software/. At the time of posting the current stable release of Open MPI is version 1.6.5.
Copy the archive file to a temporary location to compile it. Open Terminal.app and change directories to the new location of the Open MPI archive. If you downloaded the source code as a .tar.gz file, you can untar/zip it by typing
tar zxvf openmpi-1.6.5.tar.gzwhich will create a directory called openmpi-1.6.5/. Change directories into the new directory.
You can now run the configuration script. As mentioned above, if you don't have any compilers installed, you should check out the HOWTO on installing the GNU compilers before proceeding. If you only have one set of compilers installed, you can run the configuration script by typing
./configure --prefix=/usr/localIf you would like to install Open MPI someplace other than /usr/local, you can change the installation directory listed after the prefix flag.
If you have multiple compilers installed, you can specify which compilers you would like to use as follows
./configure CC=icc CXX=icpc F77=ifort FC=ifort --prefix=/usr/localwhere you specify the C (CC), C++ (CXX), Fortran 77 (F77) and Fortran 90 and later (FC) compilers with the listed variables.
Assuming the configuration script runs without issue, you can compile the code by typing
make allwhich will compile the Open MPI libraries/binaries and configure the wrappers for using the specified compilers. This should take a bit...
Again, assuming the code compiles without issue, you can install Open MPI by typing
sudo make installBeware that using sudo can do major damage to your computer if you aren't careful. You can now feel free to delete the temporary Open MPI build directory (e.g., openmpi-1.6.5/) since the code has been installed. If you think you might want to rebuild with different compilers or change the configuration, you may want to keep this directory around.
So now you should have a functional installation of Open MPI on your Mac. You should be able to compile code that uses MPI by using the Open MPI compiler wrappers (mpicc, mpicxx, mpif77, mpif90) and run MPI-enabled programs with mpiexec. If you try to use the new Open MPI executables and they are not found, it may be that /usr/local/bin (or wherever you specified with the --prefix flag in the configure stage) is not in your $PATH environment variable. You can confirm this by typing
if you do not see /usr/local/bin listed between the colons, you will need to add it. I describe how to do this at the end of the HOWTO on installing the GNU compilers.
Tips & Warnings
For assistance on linking to Open MPI or running MPI-enabled software, check out the Open MPI documentation .
Related