# MPI¶

## Windows MPI¶

On Windows, OpenEye applications use the Microsoft implementation of MPI (MS-MPI) found at https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi. The applications package includes the required installer and prompts the user to optionally install MS-MPI. No additional software is needed.

MPI on Windows requires a valid network connection. If no connection exists MPI will not run. A network connection can be created by installing a Microsoft loopback adapter. Please contact support@eyesopen.com for more details.

## Open MPI¶

On Linux and OSX, OpenEye applications use the Open MPI implementation of MPI, found at http://www.open-mpi.org/. The applications package includes a full Open MPI install, so no additional software is needed.

There are two requirements to run under Open MPI.

• Every machine in the cluster must have the same version of the application installed.
• The path to the application’s bin directory must be in the PATH environment variable on all machines, and be positioned before any other locations that may contain MPI executables (orted, mpirun, etc.).

## Using Open MPI¶

To run under Open MPI on a single machine:

> [application executable] -mpi_np [number of processes] [other application options]


To run Open MPI on multiple machines, begin by generating a text file that will include the MPI hosts you plan to use and the number of processes on each (for this example, we’ll call this file hosts). The file should contain a line for each machine with the name of the machine, a space, then slots=N, where N is the number of processors for your run. For this example, the file looks like this:

c1 slots=4
c2 slots=4
c3 slots=4
c4 slots=4
c5 slots=4


The following command-line will then start a job with one master and 19 slaves.

> [application executable] -mpi_hostfile hosts [other application options]


The master will be on c1, where the job is being started. All the input/output for the run is controlled from the master machine, and all results and logging information are combined.

Most files in this release are marked with the copyrights of the
organizations who have edited them.  The copyrights below are in no
particular order and generally reflect members of the Open MPI core
team who have contributed code to this release.  The copyrights for
corresponding files.

Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
University Research and Technology
Copyright (c) 2004-2010 The University of Tennessee and The University
of Tennessee Research Foundation.  All rights
reserved.
Copyright (c) 2004-2010 High Performance Computing Center Stuttgart,
Copyright (c) 2004-2008 The Regents of the University of California.
Copyright (c) 2006-2010 Los Alamos National Security, LLC.  All rights
reserved.
Use is subject to license terms.
Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing
Centre, Federal Republic of Germany
Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany
Copyright (c) 2008-2009 Institut National de Recherche en
Copyright (c) 2007      Lawrence Livermore National Security, LLC.
Copyright (c) 2012      The University of Wisconsin-La Crosse. All rights
reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer listed
in this license in the documentation and/or other materials
provided with the distribution.

- Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

The copyright holders provide no reassurances that the source code
provided does not infringe any patent, copyright, or any other
intellectual property rights of third parties.  The copyright holders
disclaim any liability to any recipient for claims brought against
recipient by any third party for infringement of that parties
intellectual property rights.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.