Consider a grid working on some task, e.g. a parallel reduction.
Initially, each block can do its work independently, producing some partial result.
At the end however, the partial results need to be combined and merged together.
A typical example is a reduction algorithm on a big data.
A typica...