实现特定加速所需的处理器数量?

时间:2015-02-03 18:30:03

标签: assembly parallelism-amdahl

简单来说,程序在顺序部分运行15%,其并行部分运行85%。

如何通过无限量的处理器找出最大加速比?

另外,我怎么能弄清楚,需要多少处理器才能将程序加速到最高速度的80%?

使用Amdahl定律。我试过环顾互联网,谷歌等等。没有找到任何可以帮助我解决这个简单问题的东西!

2 个答案:

答案 0 :(得分:2)

如果你有无限数量的处理器,85%的工作是无限快地完成的,即在摊销可忽略不计的时间内完成。因此加速是1 /(15%),即1 / 0.15

答案 1 :(得分:2)

从逻辑上讲,如果假设无限处理器将无限加速85%,那么该部分的运行时间将接近零,剩下的就是15%。因此,最大加速是~6.6倍。

有多少cpus加速到最大值的80%?假设这意味着您希望执行时间为15%/ 80%= 18.75%。由于顺序部分需要15%,因此3.75%必须覆盖85%的并行化。因此你需要85 / 3.75~23 cpus。