A Comparison of Massively Parallel Programming Models Through Applications in Sound Propagation and Jitter Measurement
AuthorLoken, Torbjorn Panton
AdvisorHarris, Frederick C.
StatisticsView Usage Statistics
As the era of Moore's Law and increasing CPU clock rates nears its stopping point the focus of chip and hardware design has shifted to increasing the number of computation cores present on the chip. This increase can be most clearly seen in the rise of Graphic Processing Units (GPU) where hundreds or thousands of slower cores work in parallel to accomplish tasks. Programming for these chips represents a new set of challenges and concerns. Two of the APIs which have emerged present two different approaches to harnessing the computational power of the GPU. The first explored in this thesis, CUDA, applies a design philosophy similar to the C programming language, low level and high speed. The second discussed in this thesis, Thrust, is modeled after the design philosophy behind the C++ Standard Template Library, low cost abstractions and high flexibility. This thesis explores applications which use these programming models in the quest to understand the reasons behind their use.