在任何情况下,并行化算法带来的不仅仅是线性速度的增加吗?
问问题
145 次
2 回答
5
从理论的角度来看,你可以达到的最大值是线性加速。在实践中,超线性加速是可能的。如果您可以将问题分散到可以利用处理器缓存的影响的范围内,例如因为它不适合单核的缓存,那么您的问题可以比线性更好地扩展。
于 2009-05-24T10:56:34.490 回答
1
从理论上讲,不会 - 但实际上可能是这种情况(取决于底层硬件和您的具体问题)。比较并行和顺序代码并非易事(您必须将最快的顺序实现与并行实现进行比较,而不仅仅是在单个处理器/线程上运行的并行实现)。
但是,当有人谈到超线性加速时,我总是会怀疑。他们要么没有正确测量它(见上文),要么测量了一个工件(取决于硬件/操作系统)并且应该相应地记录它,或者这只适用于问题/实现/硬件的特定组合。
于 2009-05-24T10:56:47.563 回答