我考虑过哪些因素会影响 OpenMP 中的静态调度开销。在我看来,它受到以下因素的影响:
但我是否错过了进一步的因素?也许任务的大小,...?
此外:开销是否与迭代次数线性相关?在这种情况下,我希望使用静态调度和 4 个内核,开销会随着 4*i 次迭代而线性增加。到目前为止正确吗?
编辑:我只对静态(!)调度开销本身感兴趣。我不是在谈论线程启动开销和花费在同步和临界区开销上的时间。
c++ scheduling overhead openmp
c++ ×1
openmp ×1
overhead ×1
scheduling ×1