Previous: , Up: The c_udgram backend   [Contents][Index]


Implementation of collectives

Implementation of collectives

The c_udgram normally uses logarithmic-time algorithms for multicasts (see Multicasting), reductions (see Reducing), and barriers (see Synchronizing). One-to-many multicasts disperse data in a binary-tree pattern. Reductions reduce data in a binary-tree pattern to the root, which then disperses the data in a binary-tree pattern in the many-to-many case. Barriers synchronize in a butterfly pattern. The only non-logarithmic-time algorithm is for many-to-many multicasts, which are implemented as one logarithmic-time, one-to-many multicast for each sender.

Scott Pakin, pakin@lanl.gov