【问题标题】:How is OpenMP "auto" schedule implemented in gcc?如何在 gcc 中实现 OpenMP“自动”调度?
【发布时间】:2017-10-05 08:16:14
【问题描述】:

schedule 子句的 OpenMP 文档说,当指定 schedule(auto) 时,有关调度的决定将委托给编译器或运行时系统。

编译器(例如 gcc)如何决定调度?它是从static, dynamic, guided 中选择一个还是有自己的算法来选择时间表?

【问题讨论】:

    标签: gcc parallel-processing g++ openmp scheduling


    【解决方案1】:

    在 libgomp 中,gcc 附带的默认 OpenMP 运行时库 auto 简单地映射到 static。没有魔法。

    这在代码中被注释为:

    /* For now map to schedule(static), later on we could play with feedback
     driven choice.  */
    

    该评论已经存在 10 年了。你可以在loop.cloop_ull.c中寻找GFS_AUTO

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多