Open MPI head of development
The Open MPI Project is an open source implementation of the Message Passing Interface (MPI) specification that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.
Documentation locations
Documentation for Open MPI can be found in the following locations:
Open MPI version |
Documentation location |
---|---|
v5.0.0 and later |
Web: https://docs.open-mpi.org/ Included in tarball: Built in source tree (if Sphinx available): Installed: (which defaults to: |
v4.1.x and earlier |
See the legacy Open MPI FAQ and the README file in the source tarball. For example: |
Release announcements
The best way to hear about new Open MPI releases is via the low-volume announcement mailing list.
Additionally, if you are a downstream packager of Open MPI (e.g., you package Open MPI for an operating system distribution), you may wish to sign up for the low-volume packagers list.
Table of contents
- 1. Quick start
- 2. Getting help
- 3. Release notes
- 4. Building and installing Open MPI
- 4.1. Quick start: Installing Open MPI
- 4.2. Downloading Open MPI
- 4.3. Supported Systems
- 4.4. Definitions
- 4.5. Filesystem requirements
- 4.6. VPATH builds
- 4.7. Specifying compilers and flags
- 4.8. Required support libraries
- 4.9.
configure
command line options - 4.10.
configure
output summary - 4.11.
make
targets - 4.12. Installation location
- 4.13. Installing custom components
- 4.14. Updating or upgrading an Open MPI installation
- 4.15. Advice for packagers
- 4.16. Advice for System Administrators
- 5. Open MPI-specific features
- 6. Validating your installation
- 7. Version numbers and compatibility
- 8. The Modular Component Architecture (MCA)
- 9. Building MPI applications
- 9.1. Quick start: Building MPI applications
- 9.2. Customizing wrapper compiler behavior
- 9.3. Extracting flags from the wrapper compilers
- 9.4. ABI compatibility to previous versions of Open MPI
- 9.5. Removed MPI constructs
- 9.6. Deprecation warnings while compiling MPI applications
- 9.7. Building fully-static MPI applications
- 10. Launching MPI applications
- 10.1. Quick start: Launching MPI applications
- 10.2. Prerequisites
- 10.3. The role of PMIx and PRRTE
- 10.4. Scheduling processes across hosts
- 10.5. Launching only on the local node
- 10.6. Launching with SSH
- 10.7. Launching with Slurm
- 10.8. Launching with LSF
- 10.9. Launching with PBS / Torque
- 10.10. Launching with Grid Engine
- 10.11. Unusual jobs
- 10.12. Troubleshooting
- 11. Run-time operation and tuning MPI applications
- 11.1. Environment variables set for MPI applications
- 11.2. Networking support
- 11.3. Running multi-threaded MPI applications
- 11.4. Dynamically loading
libmpi
at runtime - 11.5. Calling fork(), system(), or popen() in MPI processes
- 11.6. Fault tolerance
- 11.7. Large Clusters
- 11.8. Processor and memory affinity
- 11.9. MPI-IO tuning options
- 11.10. Tuning Collectives
- 11.11. Benchmarking Open MPI applications
- 11.12. Building heterogeneous MPI applications
- 12. Debugging Open MPI Parallel Applications
- 12.1. Parallel Debugging Tools
- 12.2. Open MPI Runtime Debugging Options
- 12.3. Using Serial Debuggers to Debug Open MPI Applications
- 12.4. Using Parallel Debuggers to Debug Open MPI Applications
- 12.5. Application Output Lost with Abnormal Termination
- 12.6. Using Memchecker
- 12.7. Using Valgrind to Find Open MPI Application Errors
- 12.8. Using MPIR-based tools with Open MPI
- 13. Developer’s guide
- 13.1. Prerequisites
- 13.2. GitHub, Git, and related topics
- 13.3. Compiler Pickyness by Default
- 13.4. Running
autogen.pl
- 13.5. Building Open MPI
- 13.6. Open MPI terminology
- 13.7. Source code
- 13.8. Internal frameworks
- 13.9. Manually installing the GNU Autootools
- 13.10. Installing and running Sphinx (building the Open MPI docs)
- 13.11. ReStructured Text for those who know Markdown
- 14. Contributing to Open MPI
- 15. License
- 16. History of Open MPI
- 17. Open MPI manual pages
- 18. OpenSHMEM manual pages