如何提高 Julia 中大型矩阵乘法的速度

Miz*_*zle 5 julia

有两个矩阵A和B。A和B的维度都是100000×100000。矩阵B是对称矩阵。我想计算 A B A。我只使用 julia 代码

A*B*A 
Run Code Online (Sandbox Code Playgroud)

要做到这一点。但这需要很长时间。我只是想知道是否有更好的方法可以做到这一点。

Ste*_*ski 3

如果它们\xe2\x80\x99 是 32 位密集矩阵,则每个矩阵都是 40 GB。除非它们具有某种特殊的结构,例如稀疏性,或者它们\xe2\x80\x99是低阶乘积,否则很难比直接将它们相乘更好。如果它们稀疏或排名较低,那么您可能可以以某种方式利用它,但我们没有足够的信息。

\n

  • 您可以尝试 MKL,但它不太可能快得多。如果问题没有更多的结构,那么就没有太多需要改进的地方。您正在计算矩阵乘积,而 BLAS 库是世界上最优化的代码,可以做到这一点。 (2认同)