如果应用程序只有 80% 的执行时间可以并行运行,那么您可以实现的最大加速比是多少?
我做了这样的事情,
1-.8 = .2
overall speedup = 1/0.2 = 5
我不确定我尝试的天气是对还是错?请说清楚。
如果应用程序只有 80% 的执行时间可以并行运行,那么您可以实现的最大加速比是多少?
我做了这样的事情,
1-.8 = .2
overall speedup = 1/0.2 = 5
我不确定我尝试的天气是对还是错?请说清楚。
您需要将 20% 作为常量,因为它需要串行执行。
还要记住,Sp 取决于处理器的数量。总是。我们可以做理论,因为 N 个处理器是一个“已知”变量。但更多的处理器也会带来更少的“理想”。当您增加处理器数量时会导致更高的错误。理想是线性函数 (Sp/p),实际上不是。
所有并行程序包含:
串行部分限制并行有效性
阿姆达尔定律正式指出:多处理器对加速的影响
Sp = Ts/Tp <= 1/(fs + (fp/p))
所以在你的情况下
Sp 将是次要的或等于:
1/(0.2 + 0.8/p)
最大 Sp 的结果是什么:
2 个处理器:1,666
4个处理器:2,5 ....