现代多核CPU上大稠密张量的低秩张量列SVD(TT-SVD)性能
数值分析
2023-04-18 v3 数学软件
数值分析
摘要
多维张量可分解为低维分量,称为“张量网络”。我们考虑流行的“张量列”(TT)格式并提问:在当前多核CPU上,从完整张量计算低秩近似的效率如何?与稀疏和稠密线性代数相比,多线性代数核心库很少且通常未充分优化。像BLAS和LAPACK这样的线性代数库原则上可提供所需操作,但往往以额外的数据移动来重排内存布局为代价。此外,这些库通常针对计算受限情形(如方阵运算)优化,而低秩张量分解导致内存带宽受限的操作。我们提出一种基于两个构建块的“张量列奇异值分解”(TT-SVD)算法:无Q的瘦高QR分解,以及融合的瘦高矩阵-矩阵乘法与重塑操作。我们使用Roofline性能模型分析所得TT-SVD算法的性能。此外,我们给出了共享内存与分布式内存架构下不同算法变体的性能结果。我们的实验表明,常用的TT-SVD实现存在严重的性能损失。我们得出结论:一个专用的张量分解核心库将惠及社区:计算低秩近似可便宜到仅从主存读取数据两次。因此,达到实际性能的实现将推后必须求助于仅处理部分数据的随机化方法的界限。
引用
@article{arxiv.2102.00104,
title = {Performance of the low-rank tensor-train SVD (TT-SVD) for large dense tensors on modern multi-core CPUs},
author = {Melven Röhrig-Zöllner and Jonas Thies and Achim Basermann},
journal= {arXiv preprint arXiv:2102.00104},
year = {2023}
}
备注
26 pages, 16 figures, accepted by SISC