Understanding and Optimizing the Performance of Heterogeneous Systems
Shuai Che · 2012
Heterogeneous computing with both CPUs and accelerators, such as GPUs, has become increasingly popular for general purpose computing.GPUs differ from CPUs significantly in architecture and programming models.GPUs provide high compute throughput and memory bandwidth, and offer dramatically better performance for many applications.However, there is little previous work on understanding GPU application behaviors and how to map applications efficiently on the GPU.In addition, effective techniques are needed for both the CPU and the GPU to achieve an overall high performance.To better understand and optimize heterogeneous systems, we study the following research issues to address these concerns.These include 1) the design of the Rodinia benchmark suite for heterogeneous platforms including both the CPU and the GPU, 2) a detailed characterization of Rodinia benchmark suite, 3) the Dymaxion framework to optimize the memory access patterns of heterogeneous platforms, 4) an approach for spreading and balancing workloads across the CPU and the GPU, and 5) a methodology to predict the performance of GPU applications.iii the quality of my work and develop my research skills immensely.I am grateful to Kevin's direction and encouragement which led me overcome various challenges on my way of pursuing the Ph.D.