# Message Passing Interface

Message Passing Interface

## Description

In the world of parallel computing the Message Passing Interface (MPI) is the de facto standard for implementing programs on multiple processors.

* [MPI\_Allreduce](mpi/mpi_allreduce) - Combines values from all processes and distributes the result back to all processes.
* [MPI\_Barrier](mpi/mpi_barrier) - Blocks until all processes in the communicator have reached this routine.
* [MPI\_Bcast](mpi/mpi_bcast) - Broadcasts a message from the process with rank "root" to all other processes of the communicator
* [MPI\_Comm\_delete](mpi/mpi_comm_delete) - Removes MPI\_Comm object.
* [MPI\_Comm\_get\_name](mpi/mpi_comm_get_name) - Return the print name from the communicator.
* [MPI\_Comm\_object](mpi/mpi_comm_object) - Creates MPI\_Comm object.
* [MPI\_Comm\_rank](mpi/mpi_comm_rank) - Determines the rank of the calling process in the communicator.
* [MPI\_Comm\_size](mpi/mpi_comm_size) - Determines the size of the group associated with a communicator.
* [MPI\_Comm\_split](mpi/mpi_comm_split) - Partitions the group that is associated with the specified communicator into a specified number of disjoint subgroups.
* [MPI\_Comm\_used](mpi/mpi_comm_used) - Returns list of current used MPI\_Comm handle.
* [MPI\_Finalize](mpi/mpi_finalize) - Terminate the MPI execution environment.
* [MPI\_Get\_library\_version](mpi/mpi_get_library_version) - Return the version number of MPI library.
* [MPI\_Get\_processor\_name](mpi/mpi_get_processor_name) - Gets the name of the processor.
* [MPI\_Get\_version](mpi/mpi_get_version) - Return the version number of MPI.
* [MPI\_Init](mpi/mpi_init) - Initialize the MPI execution environment.
* [MPI\_Initialized](mpi/mpi_initialized) - Indicates whether MPI\_Init has been called.
* [MPI\_Iprobe](mpi/mpi_iprobe) - Nonblocking test for a message.
* [MPI\_Probe](mpi/mpi_probe) - Blocking test for a message.
* [MPI\_Recv](mpi/mpi_recv) - Blocking receive for a message.
* [MPI\_Reduce](mpi/mpi_reduce) - Reduces values on all processes to a single value.
* [MPI\_Send](mpi/mpi_send) - Performs a blocking send.
* [MPI examples](mpi/mpi_examples) - Some Nelson MPI examples.
* [MPI overview](mpi/mpi_overview) - Access to MPI features from Nelson.
* [mpiexec](mpi/mpiexec) - Run an MPI script.
