A programming system for future proofing performance critical libraries

Li Wen Chang, Izzat El Hajj, Hee Seok Kim, Juan Gómez-Luna, Abdul Dakkak, Wen-Mei W Hwu

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

Abstract

We present Tangram, a programming system for writing performanceportable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and microprofiling. The resulting performance is competitive with optimized vendor libraries.

Original languageEnglish (US)
Title of host publication21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450340922
DOIs
StatePublished - Feb 27 2016
Event21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Barcelona, Spain
Duration: Mar 12 2016Mar 16 2016

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume12-16-March-2016

Other

Other21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016
CountrySpain
CityBarcelona
Period3/12/163/16/16

Fingerprint

Computer systems programming
Tuning
Knobs
Coarsening
Chemical analysis
Decomposition

ASJC Scopus subject areas

  • Software

Cite this

Chang, L. W., El Hajj, I., Kim, H. S., Gómez-Luna, J., Dakkak, A., & Hwu, W-M. W. (2016). A programming system for future proofing performance critical libraries. In 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings [32] (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. 12-16-March-2016). Association for Computing Machinery. https://doi.org/10.1145/2851141.2851178

A programming system for future proofing performance critical libraries. / Chang, Li Wen; El Hajj, Izzat; Kim, Hee Seok; Gómez-Luna, Juan; Dakkak, Abdul; Hwu, Wen-Mei W.

21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings. Association for Computing Machinery, 2016. 32 (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. 12-16-March-2016).

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

Chang, LW, El Hajj, I, Kim, HS, Gómez-Luna, J, Dakkak, A & Hwu, W-MW 2016, A programming system for future proofing performance critical libraries. in 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings., 32, Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, vol. 12-16-March-2016, Association for Computing Machinery, 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016, Barcelona, Spain, 3/12/16. https://doi.org/10.1145/2851141.2851178
Chang LW, El Hajj I, Kim HS, Gómez-Luna J, Dakkak A, Hwu W-MW. A programming system for future proofing performance critical libraries. In 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings. Association for Computing Machinery. 2016. 32. (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP). https://doi.org/10.1145/2851141.2851178
Chang, Li Wen ; El Hajj, Izzat ; Kim, Hee Seok ; Gómez-Luna, Juan ; Dakkak, Abdul ; Hwu, Wen-Mei W. / A programming system for future proofing performance critical libraries. 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings. Association for Computing Machinery, 2016. (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP).
@inproceedings{db57d4b3c6ef41199699b9476aec4a7c,
title = "A programming system for future proofing performance critical libraries",
abstract = "We present Tangram, a programming system for writing performanceportable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and microprofiling. The resulting performance is competitive with optimized vendor libraries.",
author = "Chang, {Li Wen} and {El Hajj}, Izzat and Kim, {Hee Seok} and Juan G{\'o}mez-Luna and Abdul Dakkak and Hwu, {Wen-Mei W}",
year = "2016",
month = "2",
day = "27",
doi = "10.1145/2851141.2851178",
language = "English (US)",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
booktitle = "21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings",

}

TY - GEN

T1 - A programming system for future proofing performance critical libraries

AU - Chang, Li Wen

AU - El Hajj, Izzat

AU - Kim, Hee Seok

AU - Gómez-Luna, Juan

AU - Dakkak, Abdul

AU - Hwu, Wen-Mei W

PY - 2016/2/27

Y1 - 2016/2/27

N2 - We present Tangram, a programming system for writing performanceportable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and microprofiling. The resulting performance is competitive with optimized vendor libraries.

AB - We present Tangram, a programming system for writing performanceportable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and microprofiling. The resulting performance is competitive with optimized vendor libraries.

UR - http://www.scopus.com/inward/record.url?scp=84963739101&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84963739101&partnerID=8YFLogxK

U2 - 10.1145/2851141.2851178

DO - 10.1145/2851141.2851178

M3 - Conference contribution

AN - SCOPUS:84963739101

T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

BT - 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016 - Proceedings

PB - Association for Computing Machinery

ER -