Can anyone suggest a good way to understand how MPI works?

Can someone suggest a good way to understand how MPI works?

+4
source share
3 answers

If you are familiar with threads, you treat each node as a stream (before expansion)

You send a message (work) to node and it does some work and then returns some results.

Similar behavior between stream and MPI:

All of them are connected with the division of work and its processing separately.

All of them will have overhead, if there are more node / threads involved, MPI overhead is more significant than the flow, message passing around the nodes can lead to significant overhead, if the work is not carefully partitioned, you may encounter messages about time transfer> computational time required to process a job.

Differential behavior:

They have different memory models, each MPI node does not share memory with others and does not know anything about the rest of the world unless you send something to it.

+4
source

Here you can find some training materials http://www.mcs.anl.gov/research/projects/mpi/

+2
source

Parallel programming is one of those subjects that are โ€œinternallyโ€ complex (as opposed to โ€œrandomโ€ complexity, as Fred Brooks notes).

I used "Parallel Programming in MPI" by Peter Pacheco. This book provides a good overview of the main MPI topics, available APIs, and common patterns for concurrent programming.

+1
source

Source: https://habr.com/ru/post/1335766/


All Articles