[论文解读] Communication-Optimal Parallel Algorithm for Strassen's Matrix Multiplication
本论文提出CAPS(通信最优并行Strassen算法),一种新型并行算法,用于Strassen矩阵乘法,通过匹配带宽和延迟的理论下界,实现通信最优。该算法采用BFS方式遍历Strassen递归树,并结合专用数据布局,以最小化跨处理器通信,在n=94080时,于Cray XT4上相比经典算法和现有Strassen基算法,性能提升达24%至184%。
Parallel matrix multiplication is one of the most studied fundamental problems in distributed and high performance computing. We obtain a new parallel algorithm that is based on Strassen's fast matrix multiplication and minimizes communication. The algorithm outperforms all known parallel matrix multiplication algorithms, classical and Strassen-based, both asymptotically and in practice. A critical bottleneck in parallelizing Strassen's algorithm is the communication between the processors. Ballard, Demmel, Holtz, and Schwartz (SPAA'11) prove lower bounds on these communication costs, using expansion properties of the underlying computation graph. Our algorithm matches these lower bounds, and so is communication-optimal. It exhibits perfect strong scaling within the maximum possible range. Benchmarking our implementation on a Cray XT4, we obtain speedups over classical and Strassen-based algorithms ranging from 24% to 184% for a fixed matrix dimension n=94080, where the number of nodes ranges from 49 to 7203. Our parallelization approach generalizes to other fast matrix multiplication algorithms.
研究动机与目标
- 为解决并行化Strassen快速矩阵乘法中的通信瓶颈问题,尽管计算复杂度降低,但历史性能提升受限。
- 弥合快速矩阵乘法算法的理论通信下界与实际并行实现之间的差距。
- 设计一种并行算法,最小化分布式内存系统中的带宽和延迟成本,实现最优通信复杂度。
- 将该方法推广至Strassen以外的其他快速矩阵乘法算法,确保在更广泛方法类别中实现通信最优。
提出的方法
- 提出基于BFS的Strassen算法并行执行方式,以实现细粒度负载均衡,并通过组织递归树各层的计算来最小化通信。
- 采用递归数据布局策略,将矩阵划分为块,并在P个处理器上均匀分布,其中P为7的幂(Strassen中q=7)。
- 使用块循环数据分布以确保负载均衡并最小化冗余通信,与基于计算图扩张特性的通信下界一致。
- 应用改进的Strassen-Winograd变体(含7次乘法),并优化内存访问模式,以减少处理器间的数据移动。
- 将该方法推广至任意基于双线性形式的快速矩阵乘法算法,其中使用q次乘法计算n₀×n₀矩阵,要求P为q的幂。
- 在分布式内存模型中分析通信成本,推导出带宽和延迟下界,并证明该算法性能与之匹配。
实验结果
研究问题
- RQ1能否设计一种基于并行Strassen的矩阵乘法算法,使其在带宽和延迟方面匹配理论通信下界?
- RQ2处理器数量和内存大小对并行快速矩阵乘法中通信成本的影响如何?是否可在所有配置下实现最小化?
- RQ3在实际应用中,CAPS的通信成本与现有经典算法和Strassen基算法相比如何,特别是在不同处理器数量下?
- RQ4CAPS中使用的通信避免策略能否推广至其他具有不同指数ω₀的快速矩阵乘法算法?
- RQ5通信优化Strassen算法的实际性能极限是什么?其性能与峰值硬件性能的接近程度如何?
主要发现
- CAPS通过匹配Strassen矩阵乘法中带宽和延迟的理论下界,实现通信最优,其中带宽成本为Ω((n/M¹ᐟ²)^ω₀ · M/P),延迟成本为Ω((n/M¹ᐟ²)^ω₀ · 1/P),其中ω₀=log₂7。
- 在Cray XT4上,对于n=94080,CAPS在处理器数从49到7203的范围内,相比经典和Strassen基算法,性能提升达24%至184%。
- 该算法在最大可能范围内表现出完美的强可扩展性,表明负载均衡高效且通信开销极低,随着处理器数量增加而保持稳定。
- CAPS优于现有并行Strassen实现,后者常以增加通信为代价换取计算成本降低,而CAPS在保持最优通信的同时实现了高性能。
- 该算法可推广至基于双线性形式的其他快速矩阵乘法算法,通信复杂度相同,前提是P为q(所用乘法次数)的幂。
- 尽管CAPS在带宽上达到理论下界常数因子,在延迟上达到log P因子,但下界中确切最优常数仍为开放问题,且对任意P实现精确计算下界也尚未解决。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。