什么是最快的矩阵乘法方法?

时间:2015-11-05 16:02:44

标签: algorithm matrix

我最近一直致力于一个相当广泛的计划,目前我正处于必须利用矩阵乘法的地步。事实上,对于这个特定的程序,速度至关重要。我熟悉一些矩阵设置,但我想知道哪种方法运行速度最快。我做了大量的研究,但结果却很少。以下是我熟悉的矩阵乘法算法列表:

  • 迭代算法
  • 分而治之算法
  • 子立方算法
  • 共享内存并行

如果有人需要澄清我列出的方法或一般的问题,请随时提出。

2 个答案:

答案 0 :(得分:3)

Strassen算法和天真(O(n ^ 3))算法在实践中使用最多。

没有使用具有更严格的渐近边界的更复杂的算法,因为它们的优点仅对于非常大的矩阵是明显的,因为它们的复杂性,例如, Coppersmith算法。

正如其他人指出的那样,您可能希望使用像ATLAS这样的库,它会根据您执行的平台的特征自动调整算法,例如: L1 / L2缓存大小。

答案 1 :(得分:2)

最快的方式可能是使用已经优化的现有库,您不必每次都重新发明轮子。