×

用于加速SVD并行计算的内存层次探索。 (英语) Zbl 1170.68401号

摘要:现代计算机上许多应用程序的性能通常受到内存延迟而不是处理器速度的限制。对于具有内存层次结构的计算机,最好对数据块执行计算,以通过重用缓存中加载的数据来减少内存延迟的影响。本文提出了一种基于单侧Jacobi的快速算法,用于并行计算极为有用的奇异值分解(SVD)。在(P)并行处理器上,给定的矩阵被划分为超循环,然后这些超循环被划分为(2P)块。该算法的一个关键点是,通过在缓存内存中加载的超滚动上而不是在行上执行所有计算,可以高度利用内存层次结构。另一个关键点是收敛所需的扫描次数非常接近循环单边Jacobi。该算法的第三个关键点在于收敛所需扫描次数与输入矩阵的大小无关。在两个双核Intel Xeon处理器上,我们的结果表明,在相同硬件上,该算法的并行实现性能大约是顺序实现的11倍。此外,使用多线程、Intel SIMD指令、矩阵块和循环展开技术,可以在目标系统上实现约10 GFLOPS(双精度)的性能。

MSC公司:

68平方米 计算机系统环境下的性能评估、排队和调度
PDF格式BibTeX公司 XML格式引用