cuTT:用于CUDA兼容GPU的高性能张量转置库

摘要:介绍了用于NVIDIA Kepler及以上架构的高性能张量转置的CUDA Tensor Transpose(cuTT)库。cuTT通过以下两种方式实现高性能:(a)利用两种优化的GPU转置算法,两者都使用了共享内存缓冲区以减少全局内存访问散射,以及(b)使用线程并行算法计算张量元素的内存位置。我们评估了cuTT在各种基准测试中的性能,张量秩从2到12不等,并且表明cuTT的性能与张量秩无关,并且不会比基于代码生成的方法性能差。我们开发了一个启发式方案,通过实现一个分析性GPU性能模型,该模型可以在运行时使用,无需进行性能测量或分析,从而选择张量转置算法的最优参数。最后,通过将cuTT集成到张量代数库TAL-SH中,我们在张量缩并中显着减少了张量转置的开销,在算术密集的张量缩并中,开销仅为百分之一。

作者:Antti-Pekka Hynninen, Dmitry I. Lyakh

论文ID:1705.01598

分类:Mathematical Software

分类简称:cs.MS

提交时间:2017-05-05

PDF 下载: 英文版 中文版pdf翻译中