Next: Parallel Wolff Algorithm
Up: Parallel Cluster Algorithms
Previous: Get/Send Algorithm (Shiloach-Vishkin)
Start with every site (abstract processor) having the processor number
as its unique label (i.e., the root of its own tree).
Each iteration consists of the following steps:
- Local label propagation
- Send ---
if a processor's label changes during step (1), it sends the new label to the
root of its current sub-cluster
(i.e., the processor number given by its old label),
which picks the smallest of all the labels it receives as its new label.
- Scan (optional) ---
propagate labels fast along rows and columns, using scan or
parallel prefix operations.
- Get ---
every site gets the (possibly new) label from the root processor for its
current label.
- Check for completion --- continue if any labels have changed.
The Get/Send and MultiGrid algorithms are logarithmic
in the lattice size L, unlike the simple local label propagation
algorithm which usually takes time of order L, but can be order
for complex clusters like spirals.
2. Get/Send algorithm after a send.
3. Get/Send algorithm after a few iterations.
4. The final cluster labels.
Paul Coddington, Northeast Parallel Architectures Center at Syracuse University, paulc@npac.syr.edu