TY - GEN
T1 - Chai
T2 - 2017 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2017
AU - Ǵomez-Luna, Juan
AU - Hajj, Izzat El
AU - Chang, Li Wen
AU - Garćia-Flores, Víctor
AU - De Gonzalo, Simon Garcia
AU - Jablin, Thomas B.
AU - Pẽna, Antonio J.
AU - Hwu, Wen Mei
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/7/11
Y1 - 2017/7/11
N2 - Heterogeneous system architectures are evolving towards tighter integration among devices, with emerging features such as shared virtual memory, memory coherence, and systemwide atomics. Languages, device architectures, system specifications, and applications are rapidly adapting to the challenges and opportunities of tightly integrated heterogeneous platforms. Programming languages such as OpenCL 2.0, CUDA 8.0, and C++ AMP allow programmers to exploit these architectures for productive collaboration between CPU and GPU threads. To evaluate these new architectures and programming languages, and to empower researchers to experiment with new ideas, a suite of benchmarks targeting these architectures with close CPU-GPU collaboration is needed. In this paper, we classify applications that target heterogeneous architectures into generic collaboration patterns including data partitioning, fine-grain task partitioning, and coarse-grain task partitioning. We present Chai, a new suite of 14 benchmarks that cover these patterns and exercise different features of heterogeneous architectures with varying intensity. Each benchmark in Chai has seven different implementations in different programming models such as OpenCL, C++ AMP, and CUDA, and with and without the use of the latest heterogeneous architecture features. We characterize the behavior of each benchmark with respect to varying input sizes and collaboration combinations, and evaluate the impact of using the emerging features of heterogeneous architectures on application performance.
AB - Heterogeneous system architectures are evolving towards tighter integration among devices, with emerging features such as shared virtual memory, memory coherence, and systemwide atomics. Languages, device architectures, system specifications, and applications are rapidly adapting to the challenges and opportunities of tightly integrated heterogeneous platforms. Programming languages such as OpenCL 2.0, CUDA 8.0, and C++ AMP allow programmers to exploit these architectures for productive collaboration between CPU and GPU threads. To evaluate these new architectures and programming languages, and to empower researchers to experiment with new ideas, a suite of benchmarks targeting these architectures with close CPU-GPU collaboration is needed. In this paper, we classify applications that target heterogeneous architectures into generic collaboration patterns including data partitioning, fine-grain task partitioning, and coarse-grain task partitioning. We present Chai, a new suite of 14 benchmarks that cover these patterns and exercise different features of heterogeneous architectures with varying intensity. Each benchmark in Chai has seven different implementations in different programming models such as OpenCL, C++ AMP, and CUDA, and with and without the use of the latest heterogeneous architecture features. We characterize the behavior of each benchmark with respect to varying input sizes and collaboration combinations, and evaluate the impact of using the emerging features of heterogeneous architectures on application performance.
UR - http://www.scopus.com/inward/record.url?scp=85019024615&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85019024615&partnerID=8YFLogxK
U2 - 10.1109/ISPASS.2017.7975269
DO - 10.1109/ISPASS.2017.7975269
M3 - Conference contribution
AN - SCOPUS:85019024615
T3 - ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software
SP - 43
EP - 54
BT - ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 24 April 2017 through 25 April 2017
ER -