Parallel patterns—parallel histogram computation: An introduction to atomic operations and privatization

This chapter introduces the parallel histogram computation pattern and the concept of atomic operations. It shows that atomic operations to the same location are serialized and their throughput is determined by their latency. It further introduces four important optimization techniques: interleaved data partitioning for improved memory coalescing, caching for reduced latency and improved throughput of atomic operations, privatization for reduced contention, and aggregation for reduced contention.