MPIBlib: MPI Benchmark library
Point-to-point communication by fragmenting in a hybrid MPI/OpenMP approach
This standalone program uses a hybrid approach to send a message in fragments from MPI process 0 to MPI process 1. We create a number of OpenMP threads on each MPI process. Each process then uses all OpenMP threads to submit equal fragments of the message. Each fragment is transferred by a different OpenMP thread using MPI_Send/MPI_Recv.
The program can only run properly if the MPI library supports MPI_THREAD_MULTIPLE
$ mpirun -n 2 ./fragment-omp-for