[论文解读] Shared Memory Parallelization of MTTKRP for Dense Tensors
本论文提出了一种用于密集张量分解中矩阵化张量与Khatri-Rao积(MTTKRP)的共享内存并行算法,采用BLAS优化的矩阵运算,无需张量重排。通过结合一种新颖的1步MTTKRP算法与并行化的Khatri-Rao积实现,该方法在fMRI数据上实现了相较于现有软件最高7.4倍的加速,使多核系统上的CP分解更加高效。
The matricized-tensor times Khatri-Rao product (MTTKRP) is the computational bottleneck for algorithms computing CP decompositions of tensors. In this paper, we develop shared-memory parallel algorithms for MTTKRP involving dense tensors. The algorithms cast nearly all of the computation as matrix operations in order to use optimized BLAS subroutines, and they avoid reordering tensor entries in memory. We benchmark sequential and parallel performance of our implementations, demonstrating high sequential performance and efficient parallel scaling. We use our parallel implementation to compute a CP decomposition of a neuroimaging data set and achieve a speedup of up to $7.4 imes$ over existing parallel software.
研究动机与目标
- 解决在多核系统上密集张量的CP张量分解中MTTKRP的性能瓶颈。
- 设计利用优化BLAS子程序但无需昂贵张量数据重排的并行算法。
- 提升大规模神经影像数据(如fMRI)上CP分解的效率,因为当前基于Matlab的工具过于缓慢。
- 仅使用标准BLAS和OpenMP,在共享内存架构上实现高性能且可扩展的计算。
- 证明优化MTTKRP内核可显著提升完整CP-ALS迭代的性能。
提出的方法
- 设计一种新颖的1步MTTKRP算法,将计算表示为一系列BLAS优化的矩阵运算,避免张量重排。
- 使用OpenMP和多线程BLAS实现并行行式算法,用于计算多个矩阵的Khatri-Rao积。
- 以Phan等人(2013)提出的2步MTTKRP算法作为对比基线,同样通过OpenMP和BLAS并行化。
- 将两种MTTKRP算法的结构设计为保持单一、固定的张量内存布局,以保持数据局部性并消除昂贵的重排操作。
- 将优化后的MTTKRP内核集成到CP-ALS求解器中,用于神经影像数据,对外模式使用1步算法,对内模式使用2步算法。
- 在不同秩和线程数下,对3D和4D fMRI张量进行性能基准测试,与串行和并行Matlab实现进行比较。
实验结果
研究问题
- RQ1在不进行数据重排的前提下,是否能高效地在共享内存系统上并行化密集张量的MTTKRP,同时仍能利用高度优化的BLAS例程?
- RQ2在不同张量维度和秩下,1步与2步MTTKRP算法在串行和并行性能上的表现如何比较?
- RQ3优化MTTKRP对真实世界神经影像数据中CP-ALS整体性能的影响如何?
- RQ4Khatri-Rao积的计算成本在MTTKRP整体性能中影响如何,尤其是在小模式下?
- RQ5进一步优化,如避免在不同模式间重复计算KRP,是否能在CP-ALS中带来额外的性能提升?
主要发现
- 所提出的1步MTTKRP算法在使用12个线程时,相较于基线实现最高可实现12倍加速,串行和并行性能均有显著提升。
- 2步MTTKRP算法始终优于基线,对于相同张量大小,在12个核心上并行加速最高达8倍。
- 在fMRI数据上,使用优化MTTKRP内核的完整CP-ALS实现相较于现有并行软件实现了7.4倍加速,尤其在较大秩时效果更明显。
- Khatri-Rao积计算是主要性能瓶颈,在1步算法中虽仅涉及约1/30的浮点运算量,却消耗高达一半的运行时间。
- 单核情况下,C语言实现的串行性能最高可达Matlab的Tensor Toolbox的2倍,表明内核层面的优化非常充分。
- 随着MTTKRP优化的推进,CP-ALS中的残差误差计算已成为新的性能瓶颈,提示未来优化应同时关注这些组件。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。