0

我需要乘以N個矩陣對。如果我們乘上矩陣,序列化compler可以使用所有核心作爲矩陣對的乘積,只要它們足夠大。爲了簡單起見,我們做元素乘法運算 但是並行化仍然不是最優的。在並列或序列化中進行多個矩陣乘法是否更快?

從另一方面,我們可以使用單線程乘法在並列中乘以K矩陣對,其中K是核的數量。我認爲這樣會有更多的失誤率,這種方式會變慢。我對嗎?

回答

2

並行化通常比序列化更快,除非你有大量的開銷來分割你的計算。所以你問的問題是「我們能否有效地分裂這個乘法?」

是的,我們可以,而且我們可以在Θ(n^2)的數量級實際上加快結果。 See here,尤其是關於緩存行爲的章節。祝你好運!

+0

在這種情況下,「序列化」是什麼? –

+0

一次只進行一次計算,而不是同時進行拆分和處理:https://en.wikipedia.org/wiki/Serialization – ultimatist

+0

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