gpt4 book ai didi

openmp - OpenMP 中的 Schedule 子句

转载 作者:行者123 更新时间:2023-12-04 12:25:18 27 4
gpt4 key购买 nike

我有一段代码(它是应用程序的一部分),我正在尝试使用 OpenMP 对其进行优化,正在尝试各种调度策略。就我而言,我注意到 schedule(RUNTIME)条款比其他条款有优势(我没有指定 chunk_size)。我有两个问题:

  • 当我不指定chunk_size时,schedule(DYNAMIC)之间有区别吗?和 schedule(GUIDED) ?
  • OpenMP 如何确定存储在 OMP_SCHEDULE 中的默认特定于实现的调度多变的?

  • 我了解到如果没有指定调度方案,那么默认情况下 schedule(STATIC)用来。所以如果我不修改 OMP_SCHEDULE变量,并使用 schedule(RUNTIME)在我的程序中,调度方案是 schedule(STATIC)还是 OpenMP 有一些智能的方式来动态设计调度策略并不时更改它?

    最佳答案

  • 是的,如果您不指定块大小,那么 DYNAMIC 将使所有块的大小为 1。但 GUIDED 将使最小块大小为 1,但其他块大小将取决于实现。也许您可以通过运行一些实验或阅读文档来弄清楚您的情况。
  • 据我了解情况:如果未设置环境变量 OMP_SCHEDULE,则运行时计划取决于实现。我认为如果没有为程序的每次执行选择相同的时间表会很奇怪。我不相信 OpenMP 是一组编译时指令,它无法了解程序的运行时性能并根据此类信息选择计划。
  • 关于openmp - OpenMP 中的 Schedule 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055636/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com