A Code Generator for High-Performance Tensor Contractions on GPUs

A Code Generator for High-Performance Tensor Contractions on GPUs
复制标题

DOI:
10.1109/cgo.2019.8661182
复制
发表时间:
2019-02
期刊:
2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
影响因子:
--
通讯作者:
Jinsung Kim;Aravind Sukumaran-Rajam;V. Thumma;S. Krishnamoorthy;Ajay Panyala;L. Pouchet;A. Rountev;P. Sadayappan
Jinsung Kim;Aravind Sukumaran-Rajam;V. Thumma;S. Krishnamoorthy;Ajay Panyala;L. Pouchet;A. Rountev;P. Sadayappan
中科院分区:
其他
文献类型:
--
作者:
Jinsung Kim;Aravind Sukumaran-Rajam;V. Thumma;S. Krishnamoorthy;Ajay Panyala;L. Pouchet;A. Rountev;P. Sadayappan

文献摘要

相似文献

张量收缩是矩阵矩阵乘法的较高维度概括。它们构成了计算科学和数据科学中许多应用的计算密集型核心。在本文中,我们描述了用于任意张量收缩的高性能GPU代码生成器。它利用有关张量收缩中数据重复使用的域特定属性,以设计有效的代码生成模式,再加上有效的模型驱动的搜索,以确定将计算映射到线程和通过GPU内存层次结构进行映射的参数。使用一组张量收缩基准的实验评估表明,在其他最先进的张量收缩库和代码生成器中,性能提高和/或显着缩短了代码生成时间。
Tensor contractions are higher dimensional generalizations of matrix-matrix multiplication. They form the compute-intensive core of many applications in computational science and data science. In this paper, we describe a high-performance GPU code generator for arbitrary tensor contractions. It exploits domain-specific properties about data reuse in tensor contractions to devise an effective code generation schema, coupled with an effective model-driven search, to determine parameters for mapping of computation to threads and staging of data through the GPU memory hierarchy. Experimental evaluation using a set of tensor contraction benchmarks demonstrates performance improvement and/or significantly reduced code generation time over other state-of-the-art tensor contraction libraries and code generators.