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 language | English (US) |
---|---|
Title of host publication | MICRO 2016 - 49th Annual IEEE/ACM International Symposium on Microarchitecture |
Publisher | IEEE Computer Society |
ISBN (Electronic) | 9781509035083 |
DOIs | |
State | Published - Dec 14 2016 |
Event | 49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016 - Taipei, Taiwan, Province of China Duration: Oct 15 2016 → Oct 19 2016 |
Publication series
Name | Proceedings of the Annual International Symposium on Microarchitecture, MICRO |
---|---|
Volume | 2016-December |
ISSN (Print) | 1072-4451 |
Other
Other | 49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016 |
---|---|
Country | Taiwan, Province of China |
City | Taipei |
Period | 10/15/16 → 10/19/16 |
Fingerprint
ASJC Scopus subject areas
- Hardware and Architecture
Cite this
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 proceeding › Conference contribution
}
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
AN - SCOPUS:85008936147
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 -