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
N1 - Funding Information:
National Nuclear Security Administration, under Award Number DE-NA0002374
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
T2 - 49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016
Y2 - 15 October 2016 through 19 October 2016
ER -