1 / 18

rMPI A Message Passing Library for Raw

rMPI A Message Passing Library for Raw. What is MPI?. Clean and powerful interface for writing message passing programs A set of well-defined standard primitives with which many programmers are familiar. Six Function MPI. MPI_Init : initializes MPI system

said
Download Presentation

rMPI A Message Passing Library for Raw

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. rMPIA Message Passing Library for Raw James Psota

  2. What is MPI? • Clean and powerful interface for writing message passing programs • A set of well-defined standard primitives with which many programmers are familiar James Psota

  3. Six Function MPI • MPI_Init: initializes MPI system • MPI_Comm_rank: returns “id” of calling tile • MPI_Comm_size: returns number of tiles running MPI program • MPI_Send: blocking send • MPI_Recv: blocking receive • MPI_Finalize: cleans all MPI state James Psota

  4. Packets • Use General Dynamic Network (GDN) • Must “packetize” MPI messages (GDN supports ≤ 31 words per Raw message) • Receiver must be able to re-assemble packets into logical MPI messages James Psota

  5. Packet Structure • First packet • Later packet James Psota

  6. Re-assembling Packets Example: tile02 does a MPI_Recv(src=0, tag=7), but also receives packets from other sources as well, in the in the following order: (note: <src,tag>) <6,1>, <0,2>, <0,7>, <6,1>, <0,7>, <6,1>, <0,7>, <0,7>, <0,7> James Psota

  7. Initial State: empty James Psota

  8. Add <6,1>1 James Psota

  9. Add <0,2>1 James Psota

  10. Add <0,7>1 James Psota

  11. Add <6,1>2 James Psota

  12. Add <0,7>2 James Psota

  13. Add <6,1>3 James Psota

  14. Add <0,7>3 James Psota

  15. Add <0,7>4 James Psota

  16. Add <0,7>5 James Psota

  17. Copy Into Tile02’s Buffer James Psota

  18. Clean-up State James Psota

More Related