斯普拉特

SPLATT:高效并行稀疏张量矩阵乘法。多维阵列(或称张量)在信号处理和推荐系统等领域中的应用越来越广泛。现实世界中的张量可以是巨大的,通常非常稀疏。需要高效、高性能的工具来处理当今和未来的大量稀疏张量。本文介绍了一个三模张量的共享内存并行C库SPLATT。SPLATT包含算法改进,超过了用于稀疏张量因子分解的最先进工具。SPLATT有一种快速、并行的方法,将矩阵张量乘以Khatri-Rao乘积,这是张量因子分解方法中的一个关键核心。SPLATT使用了一种新的数据结构,利用了张量的稀疏模式。这种数据结构具有与竞争方法类似的小内存占用,并允许在我们的工作中进行计算改进。我们还提出了一种寻找缓存友好的重排序方法,并将其与一种新的缓存平铺形式结合使用。首先要对缓存进行重新排序。当使用16个线程时,SPLATT平均比我们的基线快30倍,在NELL-2上达到超过80倍的加速。