| Mesos MPICH2 framework readme |
| -------------------------------------------- |
| |
| Table of Contents: |
| 1) Installing MPICH2 |
| 2) Running the Mesos MPICH2 framework |
| |
| ===================== |
| 1) INSTALLING MPICH2: |
| ===================== |
| - This framework was developed for MPICH2 1.2 (mpd was deprecated |
| starting 1.3) on Linux(Ubuntu 11.10) and OS X Lion. |
| WARNING: MPICH2 later than 1.2 may not run on Mesos. |
| (You can configure newer version to include mpd, |
| but then mpdtrace may still be missing and |
| the executor script used for Mesos relies on it.) |
| |
| - You can install MPICH2 from scratch. You can get MPICH2 as well as |
| installation directions here: |
| http://www.mcs.anl.gov/research/projects/mpich2/. This tutorial |
| follows the latter. Unpack the tar.gz and... |
| |
| - To use MPI with Mesos, make sure to have MPICH2 installed on every |
| machine in your cluster. |
| |
| Setting up: |
| -> Install and configure: |
| mac : ./configure --prefix=/Users/_your_username_/mpich2-install |
| ubuntu : ./configure --prefix=/home/_your_username_/mpich2-install |
| Then... |
| sudo make |
| sudo make install |
| |
| |
| -> Optional: add mpich binaries to PATH. You can specify the path to |
| installed MPICH2 binaries using mpiexec-meso's '--path' option |
| mac : sudo vim ~/.bash_profile |
| export PATH=/Users/_your_username_/mpich2-install/bin:$PATH |
| ubuntu : sudo vim ~/.bashrc |
| export PATH=/home/_your_username_/mpich2-install/bin:$PATH |
| |
| -> Create .mpd conf file in home directory: |
| echo "secretword=nil" > ~/.mpd.conf |
| chmod 600 .mpd.conf |
| |
| -> Check installation - these should all return the PATH's set above |
| which mpd |
| which mpiexec |
| which mpirun |
| |
| |
| ===================================== |
| 2) RUNNING THE MESOS MPICH2 FRAMEWORK |
| ===================================== |
| |
| Using/testing mpiexec-mesos: |
| -> Start a Mesos master and slaves |
| |
| -> How to run a Hello, World! program (pass the -h flag to see help options): |
| mpicc helloworld.c -helloworld |
| ./mpiexec-mesos 127.0.0.1:5050 ./helloworld |
| Paths to mesos, protobuf, and distribute eggs can be specified by setting |
| respective environment variables in mpiexec-mesos. |