Chai: Collaborative heterogeneous applications for integrated-Architectures

Juan Ǵomez-Luna, Izzat El Hajj, Li Wen Chang, Víctor Garćia-Flores, Simon Garcia De Gonzalo, Thomas B. Jablin, Antonio J. Pẽna, Wen-Mei W Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages43-54
Number of pages12
ISBN (Electronic)9781538638897
DOIs
StatePublished - Jul 11 2017
Event2017 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2017 - Santa Rosa, United States
Duration: Apr 24 2017Apr 25 2017

Publication series

NameISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software

Other

Other2017 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2017
CountryUnited States
CitySanta Rosa
Period4/24/174/25/17

Fingerprint

Computer programming languages
Program processors
Data storage equipment
Specifications
Experiments
Graphics processing unit

ASJC Scopus subject areas

  • Computer Science (miscellaneous)
  • Hardware and Architecture
  • Software

Cite this

Ǵomez-Luna, J., Hajj, I. E., Chang, L. W., Garćia-Flores, V., De Gonzalo, S. G., Jablin, T. B., ... Hwu, W-M. W. (2017). Chai: Collaborative heterogeneous applications for integrated-Architectures. In ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software (pp. 43-54). [7975269] (ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ISPASS.2017.7975269

Chai : Collaborative heterogeneous applications for integrated-Architectures. / Ǵomez-Luna, Juan; Hajj, Izzat El; Chang, Li Wen; Garćia-Flores, Víctor; De Gonzalo, Simon Garcia; Jablin, Thomas B.; Pẽna, Antonio J.; Hwu, Wen-Mei W.

ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software. Institute of Electrical and Electronics Engineers Inc., 2017. p. 43-54 7975269 (ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Ǵomez-Luna, J, Hajj, IE, Chang, LW, Garćia-Flores, V, De Gonzalo, SG, Jablin, TB, Pẽna, AJ & Hwu, W-MW 2017, Chai: Collaborative heterogeneous applications for integrated-Architectures. in ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software., 7975269, ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software, Institute of Electrical and Electronics Engineers Inc., pp. 43-54, 2017 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2017, Santa Rosa, United States, 4/24/17. https://doi.org/10.1109/ISPASS.2017.7975269
Ǵomez-Luna J, Hajj IE, Chang LW, Garćia-Flores V, De Gonzalo SG, Jablin TB et al. Chai: Collaborative heterogeneous applications for integrated-Architectures. In ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software. Institute of Electrical and Electronics Engineers Inc. 2017. p. 43-54. 7975269. (ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software). https://doi.org/10.1109/ISPASS.2017.7975269
Ǵomez-Luna, Juan ; Hajj, Izzat El ; Chang, Li Wen ; Garćia-Flores, Víctor ; De Gonzalo, Simon Garcia ; Jablin, Thomas B. ; Pẽna, Antonio J. ; Hwu, Wen-Mei W. / Chai : Collaborative heterogeneous applications for integrated-Architectures. ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software. Institute of Electrical and Electronics Engineers Inc., 2017. pp. 43-54 (ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software).
@inproceedings{74ecba97010247d288423319fdc44129,
title = "Chai: Collaborative heterogeneous applications for integrated-Architectures",
abstract = "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.",
author = "Juan Ǵomez-Luna and Hajj, {Izzat El} and Chang, {Li Wen} and V{\'i}ctor Garćia-Flores and {De Gonzalo}, {Simon Garcia} and Jablin, {Thomas B.} and Pẽna, {Antonio J.} and Hwu, {Wen-Mei W}",
year = "2017",
month = "7",
day = "11",
doi = "10.1109/ISPASS.2017.7975269",
language = "English (US)",
series = "ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "43--54",
booktitle = "ISPASS 2017 - IEEE International Symposium on Performance Analysis of Systems and Software",
address = "United States",

}

TY - GEN

T1 - Chai

T2 - Collaborative heterogeneous applications for integrated-Architectures

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 W

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.

ER -