Efficient kernel synthesis for performance portable programming

Li Wen Chang, Izzat El Hajj, Christopher Rodrigues, Juan Gomez-Luna, Wen-Mei W Hwu

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

Abstract

The diversity of microarchitecture designs in heterogeneous computing systems allows programs to achieve high performance and energy efficiency, but results in substantial software re-development cost for each type or generation of hardware. To mitigate this cost, a performance portable programming system is required. One fundamental difference between architectures that makes performance portability challenging is the hierarchical organization of their computing elements. To address this challenge, we introduce TANGRAM, a kernel synthesis framework that composes architecture-neutral computations and composition rules into high-performance kernels customized for different architectural hierarchies. TANGRAM is based on an extensible architectural model that can be used to specify a variety of architectures. This model is coupled with a generic design space exploration and composition algorithm that can generate multiple composition plans for any specified architecture. A custom code generator then compiles these plans for the target architecture while performing various optimizations such as data placement and tuning. We show that code synthesized by TANGRAM for different types and generations of devices achieves no less than 70% of the performance of highly optimized vendor libraries such as Intel MKL and NVIDIA CUBLAS/CUSPARSE.

Original languageEnglish (US)
Title of host publicationMICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture
PublisherIEEE Computer Society
ISBN (Electronic)9781509035083
DOIs
StatePublished - Dec 14 2016
Event49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016 - Taipei, Taiwan, Province of China
Duration: Oct 15 2016Oct 19 2016

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
Volume2016-December
ISSN (Print)1072-4451

Other

Other49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016
CountryTaiwan, Province of China
CityTaipei
Period10/15/1610/19/16

Fingerprint

Chemical analysis
Computer systems programming
Energy efficiency
Costs
Tuning
Hardware

ASJC Scopus subject areas

  • Hardware and Architecture

Cite this

Chang, L. W., Hajj, I. E., Rodrigues, C., Gomez-Luna, J., & Hwu, W-M. W. (2016). Efficient kernel synthesis for performance portable programming. In MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture [7783715] (Proceedings of the Annual International Symposium on Microarchitecture, MICRO; Vol. 2016-December). IEEE Computer Society. https://doi.org/10.1109/MICRO.2016.7783715

Efficient kernel synthesis for performance portable programming. / Chang, Li Wen; Hajj, Izzat El; Rodrigues, Christopher; Gomez-Luna, Juan; Hwu, Wen-Mei W.

MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 2016. 7783715 (Proceedings of the Annual International Symposium on Microarchitecture, MICRO; Vol. 2016-December).

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

Chang, LW, Hajj, IE, Rodrigues, C, Gomez-Luna, J & Hwu, W-MW 2016, Efficient kernel synthesis for performance portable programming. in MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture., 7783715, Proceedings of the Annual International Symposium on Microarchitecture, MICRO, vol. 2016-December, IEEE Computer Society, 49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016, Taipei, Taiwan, Province of China, 10/15/16. https://doi.org/10.1109/MICRO.2016.7783715
Chang LW, Hajj IE, Rodrigues C, Gomez-Luna J, Hwu W-MW. Efficient kernel synthesis for performance portable programming. In MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society. 2016. 7783715. (Proceedings of the Annual International Symposium on Microarchitecture, MICRO). https://doi.org/10.1109/MICRO.2016.7783715
Chang, Li Wen ; Hajj, Izzat El ; Rodrigues, Christopher ; Gomez-Luna, Juan ; Hwu, Wen-Mei W. / Efficient kernel synthesis for performance portable programming. MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 2016. (Proceedings of the Annual International Symposium on Microarchitecture, MICRO).
@inproceedings{6ddd9fae78d8487c8f1668c0b3067729,
title = "Efficient kernel synthesis for performance portable programming",
abstract = "The diversity of microarchitecture designs in heterogeneous computing systems allows programs to achieve high performance and energy efficiency, but results in substantial software re-development cost for each type or generation of hardware. To mitigate this cost, a performance portable programming system is required. One fundamental difference between architectures that makes performance portability challenging is the hierarchical organization of their computing elements. To address this challenge, we introduce TANGRAM, a kernel synthesis framework that composes architecture-neutral computations and composition rules into high-performance kernels customized for different architectural hierarchies. TANGRAM is based on an extensible architectural model that can be used to specify a variety of architectures. This model is coupled with a generic design space exploration and composition algorithm that can generate multiple composition plans for any specified architecture. A custom code generator then compiles these plans for the target architecture while performing various optimizations such as data placement and tuning. We show that code synthesized by TANGRAM for different types and generations of devices achieves no less than 70{\%} of the performance of highly optimized vendor libraries such as Intel MKL and NVIDIA CUBLAS/CUSPARSE.",
author = "Chang, {Li Wen} and Hajj, {Izzat El} and Christopher Rodrigues and Juan Gomez-Luna and Hwu, {Wen-Mei W}",
year = "2016",
month = "12",
day = "14",
doi = "10.1109/MICRO.2016.7783715",
language = "English (US)",
series = "Proceedings of the Annual International Symposium on Microarchitecture, MICRO",
publisher = "IEEE Computer Society",
booktitle = "MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture",

}

TY - GEN

T1 - Efficient kernel synthesis for performance portable programming

AU - Chang, Li Wen

AU - Hajj, Izzat El

AU - Rodrigues, Christopher

AU - Gomez-Luna, Juan

AU - Hwu, Wen-Mei W

PY - 2016/12/14

Y1 - 2016/12/14

N2 - The diversity of microarchitecture designs in heterogeneous computing systems allows programs to achieve high performance and energy efficiency, but results in substantial software re-development cost for each type or generation of hardware. To mitigate this cost, a performance portable programming system is required. One fundamental difference between architectures that makes performance portability challenging is the hierarchical organization of their computing elements. To address this challenge, we introduce TANGRAM, a kernel synthesis framework that composes architecture-neutral computations and composition rules into high-performance kernels customized for different architectural hierarchies. TANGRAM is based on an extensible architectural model that can be used to specify a variety of architectures. This model is coupled with a generic design space exploration and composition algorithm that can generate multiple composition plans for any specified architecture. A custom code generator then compiles these plans for the target architecture while performing various optimizations such as data placement and tuning. We show that code synthesized by TANGRAM for different types and generations of devices achieves no less than 70% of the performance of highly optimized vendor libraries such as Intel MKL and NVIDIA CUBLAS/CUSPARSE.

AB - The diversity of microarchitecture designs in heterogeneous computing systems allows programs to achieve high performance and energy efficiency, but results in substantial software re-development cost for each type or generation of hardware. To mitigate this cost, a performance portable programming system is required. One fundamental difference between architectures that makes performance portability challenging is the hierarchical organization of their computing elements. To address this challenge, we introduce TANGRAM, a kernel synthesis framework that composes architecture-neutral computations and composition rules into high-performance kernels customized for different architectural hierarchies. TANGRAM is based on an extensible architectural model that can be used to specify a variety of architectures. This model is coupled with a generic design space exploration and composition algorithm that can generate multiple composition plans for any specified architecture. A custom code generator then compiles these plans for the target architecture while performing various optimizations such as data placement and tuning. We show that code synthesized by TANGRAM for different types and generations of devices achieves no less than 70% of the performance of highly optimized vendor libraries such as Intel MKL and NVIDIA CUBLAS/CUSPARSE.

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

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

U2 - 10.1109/MICRO.2016.7783715

DO - 10.1109/MICRO.2016.7783715

M3 - Conference contribution

T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO

BT - MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture

PB - IEEE Computer Society

ER -