矩阵矩阵乘法算法o(100)

时间:2013-08-01 08:16:18

标签: matrix-multiplication

虽然我意识到这是一个利基问题,但我想知道是否有人知道矩阵矩阵乘法的算法,这将是非常好的(意味着使用大量的cpu或可能的gpu)在大小之间的矩阵100x100到500x500?

虽然我知道xgemm和xgemm3m很不错,但遗憾的是它们可以获得大于1000x1000的矩阵。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

不是答案,但评论太久了。

我认为您从英特尔数据中得出了错误的结论。你好像在想

啊哈,对于大型矩阵,dgemm可以以300GFLOP / s的速度进行压缩,但对于小型矩阵,dgemm只能以微弱的100GFLOP / s进行压缩 - 这种方法可以将小矩阵乘以300GFLOP / s? / em>

我认为按照这些方针

Ah-ha dgemm在大型阵列上效率最高;嗯,我想知道在调用它时是否存在固定成本,这些成本在较小的工作规模上表现得相对较差。我希望如果那些小矩阵有更快的算法,那么英特尔的聪明人就会实现它们,并使dgemm足够聪明,可以为任何给定的问题大小选择正确的内部代码路径。毕竟,密集矩阵乘法是LINPACK的关键部分,尽管它存在所有缺点,但它通常用于对高性能计算机进行基准测试,而英特尔则通过使用这些基准测试来展示其机器的卓越性。

现在我并不是说你不像英特尔的民众那么聪明,我的思路可能有缺陷,但我告诉你,你将难以编写或获得一个代码,在英特尔硬件上的小矩阵上优于dgemm。我期待看到证据证明我错了。