0

我需要乘以N个矩阵对。如果我们乘上矩阵,序列化compler可以使用所有核心作为矩阵对的乘积,只要它们足够大。为了简单起见,我们做元素乘法运算 但是并行化仍然不是最优的。在并列或序列化中进行多个矩阵乘法是否更快?

从另一方面,我们可以使用单线程乘法在并列中乘以K矩阵对,其中K是核的数量。我认为这样会有更多的失误率,这种方式会变慢。我对吗?

回答

2

并行化通常比序列化更快,除非你有大量的开销来分割你的计算。所以你问的问题是“我们能否有效地分裂这个乘法?”

是的,我们可以,而且我们可以在Θ(n^2)的数量级实际上加快结果。 See here,尤其是关于缓存行为的章节。祝你好运!

+0

在这种情况下,“序列化”是什么? –

+0

一次只进行一次计算,而不是同时进行拆分和处理:https://en.wikipedia.org/wiki/Serialization – ultimatist

+0

良好的链接,有很多方法可以提高性能。 – Surt