多线程并行算法效率计算:处理器参数取值疑问
并行算法效率计算中“处理器数量”的取值问题
- 核心结论:这里的“处理器数量”要填你并行实现里实际启用的线程数——也就是你用来跑算法的并发执行单元总数。
- 原因说明:
效率公式是用来衡量每个并行单元的实际利用率的,你的加速比是单线程(Average 1)和多线程(Average 2)的时间比值,对应的并行规模就是你实际用的线程数。如果你的线程数和物理核心数一致,填核心数结果也一样,但本质还是对应实际并发单元数。 - 结合你的数据计算示例:
假设你用了4个线程,那效率计算如下:
这个值意味着每个线程的平均利用率约为75.2%。Efficiency = 3.0078 / 4 ≈ 0.752
内容的提问来源于stack exchange,提问作者SlavPowered
相关产品推荐
相关产品推荐

