Open MPI install on Mac OS X

Last modified by Xwiki VePa on 2024/02/07 07:37

If have not already installed the GNU compilers, check out the HOWTO for installing the GNU compilers on Mac OS X.

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.

  1. 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.
  2. 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.gz

    which will create a directory called openmpi-1.6.5/. Change directories into the new directory.

  3. 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/local

    If 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/local

    where you specify the C (CC), C++ (CXX), Fortran 77 (F77) and Fortran 90 and later (FC) compilers with the listed variables.

  4. Assuming the configuration script runs without issue, you can compile the code by typing

    make all

    which will compile the Open MPI libraries/binaries and configure the wrappers for using the specified compilers. This should take a bit...

  5. Again, assuming the code compiles without issue, you can install Open MPI by typing

    sudo make install

    Beware 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

echo $PATH

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

Related