Download HP MPI User's Guide
Transcript
MPI 2.0 features supported One-sided communication One-sided communication Message-passing communication involves transferring data from the sending process to the receiving process and synchronization of the sender and receiver. Remote memory access and one-sided communication extend the communication mechanism of MPI by separating the communication and synchronization functions. One process specifies all communication parameters both for the sending side and the receiving side. This mode of communication is best for applications with dynamically changing data access patterns where data distribution is fixed or slowly changing. Each process can compute what data it needs to access or update at other processes. Processes in such applications, however, may not know which data in their memory needs to be accessible by remote processes or even the identity of these remote processes. In this case, applications can open windows in their memory space that are accessible by remote processes. HP MPI supports a subset of the MPI 2.0 one-sided communication functionality: • Window creation—The initialization process that allows each process in an intracommunicator group to specify, in a collective operation, a window in its memory that is made accessible to remote processes. The window-creation call returns an opaque object that represents the group of processes that own and access a set of windows, and the attributes of each window, as specified by the initialization call. HP MPI supports the MPI_Win_create and the MPI_Win_free functions. MPI_Win_Create is a collective call executed by all processes in a group. It returns a window object that can be used by these processes to perform remote memory access operations. MPI_Win_free is also a collective call, and frees the window object created by MPI_Win_create, and returns a null handle. • Window attributes—HP MPI supports the MPI_Win_get_group function. MPI_Win_get_group returns a duplicate of the group of the communicator used to create the window, that is, the processes that share access to the window. Appendix C 175