我有这个问题,我不太了解加速的机制。
我有一个程序有2个执行阶段。第一阶段需要1个时间单位,并且只能按顺序执行。第二阶段需要3个时间单元才能执行,但可以并行化。
如何计算我可以达到的最大加速比?我不是在寻找答案,而是我需要计算它的公式。
答案 0 :(得分:0)
我试图找到答案,但我不确定它是否正确。
我使用的公式表示:
Speedup = 1 / (sequentialPercentageTime - (parallelizablePercentageTime / Threads))
如果可并行化部分完全可并行化,则线程将为3。
这意味着:
Speedup = 1 / (0.25 + (0.75/3))
Speedup = 1 / (0.25 + 0.25)
Speedup = 1 / 0.5
Speedup = 2
这有意义吗?