GPU Architecture and Programming Challenges

This chapter provides an overview of GPU architectures and CUDA programming. The performance of the same graph algorithms on multi-core CPU and GPU are usually very different. Intricacies of thread scheduling, barrier synchronization, warp based execution, memory hierarchy, and their effects on graph analytics are illustrated with simple examples.