我有一段代码(它是应用程序的一部分)正在尝试使用 OpenMP 进行优化,正在尝试各种调度策略。就我而言,我注意到该schedule(RUNTIME)
子句比其他子句有优势(我没有指定 chunk_size)。我有两个问题:
当我没有指定 chunk_size 时,
schedule(DYNAMIC)
和之间有区别schedule(GUIDED)
吗?OpenMP 如何确定存储在
OMP_SCHEDULE
变量中的默认实现特定调度?
我了解到,如果没有指定调度方案,则默认schedule(STATIC)
使用。因此,如果我不修改OMP_SCHEDULE
变量并schedule(RUNTIME)
在我的程序中使用,调度方案会schedule(STATIC)
一直存在,还是 OpenMP 有一些智能方法来动态设计调度策略并不时更改它?