我正在尝试使用多个进程在 C 中进行矩阵乘法,每个子进程都在计算矩阵的一行。但是如果它是 200 的顺序,那么将有 200 个进程,这对于 2 3 个 CPU 来说效率很低。如果我想将进程数保持在 10 或 12,我该如何继续。计算顺序会有变化吗?
问问题
818 次
1 回答
1
在矩阵乘法中利用多个过程的一种方法是从递归算法开始。例如,Strassen 算法递归地将问题分解为越来越小的乘法,这些乘法可以卸载到任意数量的处理器。此外,普通矩阵乘法的阶数为 O(N^3),但 Strassen 算法可以将其降低到 O(N^2.8),这对于较大的矩阵来说可能是相当大的。
注意:通常高阶是指级数展开中的扩展项,多项式中的更多项等,通常不是方阵的大小。
于 2013-03-12T19:09:20.693 回答