简单来说,程序在顺序部分运行15%,其并行部分运行85%。
如何通过无限量的处理器找出最大加速比?
另外,我怎么能弄清楚,需要多少处理器才能将程序加速到最高速度的80%?
使用Amdahl定律。我试过环顾互联网,谷歌等等。没有找到任何可以帮助我解决这个简单问题的东西!
答案 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。