In this paper, we aim to quantify the performance gains of dynamic parallelism. The newest version of CUDA, CUDA
5, introduces dynamic parallelism, which allows GPU threads to create new threads, without CPU intervention, and
adapt to its data. This effectively eliminates the superfluous back and forth communication between the GPU and CPU
through nested kernel computations. The change in performance will be measured using two well-known clustering
algorithms that exhibit data dependencies: the K-means clustering and the hierarchical clustering. K-means has a
sequential data dependence wherein iterations occur in a linear fashion, while the hierarchical clustering has a tree-like
dependence that produces split tasks. Analyzing the performance of these data-dependent algorithms gives us a better
understanding of the benefits or potential drawbacks of CUDA 5’s new dynamic parallelism feature.