omp_set_dynamic - 运行时如何确定线程数?

Mar*_*ark 6 openmp

当使用omp_set_dynamic时,OpenMP运行时如何确定最佳线程数?

例如,是否使用了某种计时机制,或者编译器是否向运行时提供了任务大小有多大的提示?

Hig*_*ark 2

我不认为 OpenMP 确实可以确定应用程序的“最佳”线程数,无论是“最佳”一词的任何可能含义。正如 @aaa 所评论的,当 true 时运行时的行为omp_set_dynamic是特定于实现的。

我认为当前的 Fortran/C/C++ 编译器无法向运行时提供计时或任务大小等信息。

我相信这个功能是可用的,以便调度程序(和类似的)可以管理机器上的程序,以实现吞吐量或类似的目的。