[论文解读] I/O Efficient Algorithms for Matrix Computations
本论文在外部内存模型下,为关键矩阵计算(包括QR分解以及Hessenberg/三对角/双对角化约化)提出了I/O高效算法。通过引入分块化和带状中间形式技术,实现了渐近最优的I/O复杂度,其中新颖的递归缓存无关算法在分块大小适配主内存时,达到了与矩阵乘法相同的I/O复杂度边界。
We analyse some QR decomposition algorithms, and show that the I/O complexity of the tile based algorithm is asymptotically the same as that of matrix multiplication. This algorithm, we show, performs the best when the tile size is chosen so that exactly one tile fits in the main memory. We propose a constant factor improvement, as well as a new recursive cache oblivious algorithm with the same asymptotic I/O complexity. We design Hessenberg, tridiagonal, and bidiagonal reductions that use banded intermediate forms, and perform only asymptotically optimal numbers of I/Os; these are the first I/O optimal algorithms for these problems. In particular, we show that known slab based algorithms for two sided reductions all have suboptimal asymptotic I/O performances, even though they have been reported to do better than the traditional algorithms on the basis of empirical evidence. We propose new tile based variants of multishift QR and QZ algorithms that under certain conditions on the number of shifts, have better seek and I/O complexities than all known variants. We show that techniques like rescheduling of computational steps, appropriate choosing of the blocking parameters and incorporating of more matrix-matrix operations, can be used to improve the I/O and seek complexities of matrix computations.
研究动机与目标
- 在外部内存模型下设计I/O高效的矩阵计算算法。
- 解决Hessenberg、三对角化和双对角化约化缺乏I/O优化算法的问题。
- 为双侧约化实现渐近最优的I/O复杂度。
- 提出一种递归缓存无关算法,使其I/O复杂度与矩阵乘法相匹配。
- 通过新颖的数据布局与算法结构,改进现有的分片式与分块算法。
提出的方法
- 提出一种基于分块的QR分解算法,其I/O复杂度与矩阵乘法相匹配。
- 引入带状中间形式,以减少Hessenberg、三对角化和双对角化约化的I/O开销。
- 设计一种递归缓存无关算法用于QR分解,其渐近I/O复杂度相同。
- 在Aggarwal-Vitter外部内存模型下分析I/O复杂度,重点在于最小化I/O操作次数。
- 优化分块大小以最小化I/O,表明当一个分块恰好可容纳于主内存时性能最佳。
- 采用Householder变换与WY表示法,实现紧凑存储与高效的I/O访问。
实验结果
研究问题
- RQ1QR分解能否实现与矩阵乘法相同复杂度的I/O性能?
- RQ2为何传统分块与非分块约化方式I/O效率低下,如何改进?
- RQ3带状中间形式能否使双侧约化实现I/O最优?
- RQ4在基于分块的QR算法中,实现I/O效率最优的分块大小为何值?
- RQ5递归缓存无关算法能否达到与现有最优I/O算法相同的I/O复杂度?
主要发现
- 基于分块的QR算法实现了与矩阵乘法渐近等价的I/O复杂度。
- 最优分块大小为恰好一个分块可容纳于主内存,此时I/O操作最少。
- 所提算法相比现有分块方法实现了常数因子的性能提升。
- 首次通过带状中间形式提出Hessenberg、三对角化和双对角化约化的I/O最优算法。
- 递归缓存无关算法与矩阵乘法的I/O复杂度相匹配,实现了最优性能。
- 证明了分片式算法在双侧约化中的I/O复杂度为次优,从而推动了新方法的提出。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。