x
Loading
 Loading
Hello, Guest | Login | Register

Programming with MPI Communicators and Groups, Part 2

Last month’s issue of Linux Magazine was dedicated to cluster computing, allowing leaders in the field to present a wide range of topics about Beowulf-style clusters. Last month’s issue also introduced model coupling with some example code. This month we return our attention to advanced Message Passing Interface (MPI) features by continuing the discussion of MPI groups and communicators begun in May.

Last month’s issue of Linux Magazine was dedicated to cluster computing, allowing leaders in the field to present a wide range of topics about Beowulf-style clusters. Last month’s issue also introduced model coupling with some example code. This month we return our attention to advanced Message Passing Interface (MPI) features by continuing the discussion of MPI groups and communicators begun in May.

Remember that MPI groups and communicators provide a mechanism for parallel code modularity and offer communication contexts for groups of processes. The default communicator, MPI_COMM_WORLD, refers to all processes involved in the MPI computation and defines the default global context for message passing. Additional communicators — which provide a handle for a communications “channel” like on a CB radio — can be created and destroyed to suite the needs of a parallel code or a coupled model.

Communicators are significant because they provide a group scope for collective operations, such as broadcasts, gathers/scatters, and reductions. If these operations are relevant only on a subset of processes, communicators provide a communications channel for one or more process groups. Intracommunicators, which provide for point-to-point and collective communications within a group of processes, were introduced in Part 1. That discussion continues this month along with an introduction to intercommunicators, which provide point-to-point communication between two groups of processes.

As in previous columns, MPI routines and descriptions are based on the MPI-1.1 Standard. MPI-2 provides additional features, and some MPI-2 implementations are beginning to appear on clusters and supercomputers….

Please log in to view this content.

Not Yet a Member?

Register with LinuxMagazine.com and get free access to the entire archive, including:

  • Hands-on Content
  • White Papers
  • Community Features
  • And more.
Already a Member?
Log in!
Username

Password

Remember me

Forgotten your password?
Forgotten your username?
Read More
  1. GP-GPUs: OpenCL Is Ready For The Heavy Lifting
  2. HPC Madness: March Is More Cores Month
  3. HPC Turn-Offs: Power Control
  4. The Cost to Play: CUDA Programming
  5. The HPC Software Conundrum
Follow Linux Magazine
Rackspace