What is a “Request Progression Interface (RPI) module”?
An RPI module in LAM is the manner in which an MPI point-to-point message progresses from a source MPI process to a destination MPI process. RPI is just one of the types of SSI modules that LAM/MPI uses. LAM offers multiple RPI modules in the default distribution: • gm: using native Myrinet message passing • ib: using native Infiniband message passing • lamd: using asynchronous (but slow) UDP-based message passing • tcp: using TCP • sysv: using shared memory (with SystemV semaphores) and TCP • usysv: using shared memory (with spin locks) and TCP The two shared memory RPIs use shared memory for communication between MPI ranks on a single node, but use TCP/IP for communication between ranks on different nodes. The only difference between them is the manner in which shared-memory synchornization is performed. The usysv (spin locks) RPI is probably best suited for SMP architectures; the sysv (semaphores) RPI is probably best suited for uniprocessors. [ Top of page | Return to FAQ ] 10. Wha