我正在尝试使用多个进程在C中进行矩阵乘法,每个子进程都计算一行矩阵。但是如果它的数量为200,则将有200个进程对于2 3个CPU来说效率低下。如果我想将进程数保持为10或12,我该如何处理相同的进程。计算顺序会有变化吗?
答案 0 :(得分:1)
在矩阵乘法中利用多个进程的一种方法是从递归算法开始。例如,Strassen algorithm递归地将问题分解为越来越小的乘法,可以将其卸载到任意数量的处理器。此外,正常矩阵乘法的阶数为O(N ^ 3),但Strassen算法可以将其降低到O(N ^ 2.8),这对于更大的矩阵来说可能是实质性的。
注意:通常,高阶指的是系列展开中的扩展术语,多项式中的更多术语等,通常不是方阵的大小。