Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这个问题,我不太了解加速机制。
我有一个有 2 个执行阶段的程序。第一阶段占用 1 个时间单位,只能顺序执行。第二阶段需要 3 个时间单位来执行,但可以并行化。
如何计算我可以实现的最大加速?我不是在寻找答案,而是我需要计算它的公式。
我试图找到答案,但我不确定它是否正确。
我用一个公式说:
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
这有道理吗?