Hetero mark, a benchmark suite for CPU GPU collaborative computing
Graphics Processing Units (GPUs) can easily outperform CPUs in processing large scale data parallel workloads, but are considered weak in processing serialized tasks and communicating with other devices. Pursuing a CPU GPU collaborative computing model which takes advantage of both devices could provide an important breakthrough in realizing the full performance potential of heterogeneous computing. In recent years platform vendors and runtime systems have added new features such as unified memory space and dynamic parallelism, providing a path to CPU GPU coordination and necessary programming infrastructure to support future heterogeneous applications. As the rate of adoption of CPU GPU collaborative computing continues to increase, it becomes increasingly important to formalize CPU GPU collaborative programming paradigms and understand the impact of this emerging model on overall application performance. We propose the Hetero Mark to help heterogeneous system programmers understand CPU GPU collaborative computing and to provide guidance to computer architects in order to enhance the design of the runtime and the driver. We summarize seven common CPU GPU collaborative computing programming patterns and include at least one benchmark for each pattern in the suite. We also characterize different workloads in Hetero Mark to analyze execution metrics specific to CPU GPU collaborative computing, including CPU and GPU performance, CPU GPU communication latency and memory transfer latency.
2016 IEEE International Symposium on Workload Characterization (IISWC)