From charlesreid1

No edit summary
Line 7: Line 7:
<pre>
<pre>
brew install open-mpi
brew install open-mpi
</pre>
===Install Necessary Notebook Modules===
Install the mpi4py library:
<pre>
pip3 install mpi4py
</pre>
Install the ipyparallel notebook extension:
<pre>
jupyter serverextension enable --py ipyparallel
</pre>
</pre>



Revision as of 13:31, 27 November 2017

Steps

Install OpenMPI

Start by installing OpenMPI:

brew install open-mpi

Install Necessary Notebook Modules

Install the mpi4py library:

pip3 install mpi4py

Install the ipyparallel notebook extension:

jupyter serverextension enable --py ipyparallel

Start MPI Cluster

Then start an MPI cluster using ipcluster:

$ ipcluster start --n=4
2017-11-27 05:25:47.988 [IPClusterStart] Starting ipcluster with [daemon=False]
2017-11-27 05:25:47.989 [IPClusterStart] Creating pid file: /Users/charles/.ipython/profile_default/pid/ipcluster.pid
2017-11-27 05:25:47.989 [IPClusterStart] Starting Controller with LocalControllerLauncher
2017-11-27 05:25:48.998 [IPClusterStart] Starting 4 Engines with LocalEngineSetLauncher
2017-11-27 05:26:19.332 [IPClusterStart] Engines appear to have started successfully

If you do pass an --engines flag, though, it could be problematic:

$ ipcluster start --engines=MPI --n=4
2017-11-27 05:24:09.772 [IPClusterStart] Starting ipcluster with [daemon=False]
2017-11-27 05:24:09.773 [IPClusterStart] Creating pid file: /Users/charles/.ipython/profile_default/pid/ipcluster.pid
2017-11-27 05:24:09.773 [IPClusterStart] Starting Controller with LocalControllerLauncher
2017-11-27 05:24:10.777 [IPClusterStart] Starting 4 Engines with MPI
2017-11-27 05:24:10.813 [IPClusterStart] ERROR |
            Engines shutdown early, they probably failed to connect.

            Check the engine log files for output.

            If your controller and engines are not on the same machine, you probably
            have to instruct the controller to listen on an interface other than localhost.

            You can set this by adding "--ip='*'" to your ControllerLauncher.controller_args.

            Be sure to read our security docs before instructing your controller to listen on
            a public interface.

2017-11-27 05:24:10.813 [IPClusterStart] ERROR | IPython cluster: stopping
2017-11-27 05:24:13.816 [IPClusterStart] Removing pid file: /Users/charles/.ipython/profile_default/pid/ipcluster.pid