USF Home
Administrators
Hardware Status
Home
Getting Started
Support & Contacts
Software Portal
Documentation
Tutorial / Links
C Programming
Linux
MPI Programming
Get Account
Request Licensed Software
Search this site
USF: MPI Tutorial Contents
Table of Contents
1.0
Introduction to MPI
1.1
What is MPI?
1.2
Who is MPI for?
1.3
Compiling and running MPI programs
2.0
Semantic Terms
2.1
Message Passing Paradigm
2.2
Sending and Receiving
2.3
Communicators and Groups
3.0
Getting Started
4.0
Point-to-Point Communication
5.0
Blocking Send/Receive Operations
5.0.1
Standard Send and Receive
5.0.2
Buffered Send
5.0.3
Synchronous Send
5.0.4
Synchronous Send and Receive
5.0.5
Ready Send
6.0
Non-Blocking Send/Receive Operations
6.0.1
Standard Send and Receive
6.0.2
Buffered Send
6.0.3
Synchronous Send
6.0.4
Ready Send
6.1
Waiting and Testing
6.1.1
MPI_Wait
6.1.2
MPI_Waitany
6.1.3
MPI_Waitsome
6.1.4
MPI_Waitall
6.1.5
MPI_Test
6.1.6
MPI_Testany
6.1.7
MPI_Testsome
6.1.8
MPI_Testall
7.0
Derived Datatypes
7.0.1
MPI_Datatype_contiguous
7.0.2
MPI_Type_vector
7.0.3
MPI_Type_hvector
7.0.4
MPI_Type_indexed
7.0.5
MPI_Type_hindexed
7.0.6
MPI_Type_struct
7.0.7
MPI_Type_extent
7.0.8
MPI_Type_commit
8.0
Collective Communication
8.1
Types of collective communication
8.2
Barrier Synchronization
8.2.1
MPI_Barrier
8.3
Data Movement (or Global Communication)
8.3.1
MPI_Bcast
8.3.2
MPI_Scatter
8.3.3
MPI_Gather
8.3.4
MPI_Allgather
8.4
Collective Operations (or Global Reduction)
8.4.1
MPI_Reduce
8.4.2
MPI_Allreduce
8.4.3
MPI_Reduce_scatter
8.4.4
MPI_Scan
8.5
User defined operations for MPI_Reduce and MPI_Scan
8.5.1
MPI_Op_create
8.5.2
MPI_Op_free
9.0
Communicators and Groups
9.1
Group Accessors
9.1.1
MPI_Group_size
9.1.2
MPI_Group_rank
9.1.3
MPI_Group_translate_ranks
9.1.4
MPI_Group_compare
9.2
Group Constructors
9.2.1
MPI_Comm_group
9.2.2
MPI_Group_union
9.2.3
MPI_Group_intersection
9.2.4
MPI_Group_difference
9.2.5
MPI_Group_incl
9.2.6
MPI_Group_excl
9.2.7
MPI_Group_range_incl
9.2.8
MPI_Group_range_excl
9.3
Group Deconstructors
9.3.1
MPI_Comm_group
9.4
Communicator Accessors
9.4.1
MPI_Comm_size
9.4.2
MPI_Comm_rank
9.4.3
MPI_Comm_compare
9.5
Communicator Constructors
9.5.1
MPI_Comm_dup
9.5.2
MPI_Comm_create
9.5.3
MPI_Comm_split
9.6
Communicator Destructors
9.6.1
MPI_Comm_free
10.0
Process Topologies
10.1
Virtual Topologies
10.2
Topology Constructors
10.2.1
Cartesian Constructor
10.2.2
Cartesian Convenience - MPI_Dims_create
10.2.3
Graph Constructor
10.3
Topology Inquiry Calls
10.3.1
MPI_Topo_test
10.3.2
MPI_Graphdims_get
10.3.3
MPI_Graph_get
10.3.4
MPI_Cartdim_get
10.3.5
MPI_Cart_get
10.3.6
MPI_Cart_rank
10.3.7
MPI_Cart_coords
10.3.8
MPI_Graph_neighbors_count
10.3.9
MPI_Graph_neighbors
10.4
Cartesian Shifting
10.4.1
MPI_Cart_shift
10.5
Partitioning Cartesian Calls
10.5.1
MPI_Cart_sub
10.6
Low-level topology functions
10.6.1
MPI_Cart_map
10.6.2
MPI_Graph_map