如果未指定schedule
子句,则使用什么调度算法?即:
#pragma omp parallel for
for (int i = 0; i < n; ++i)
Foo(i);
答案 0 :(得分:8)
从您链接到的documentation开始。第 2.7.1.1节确定工作共享循环的计划部分为:
如果loop指令没有 schedule 子句,则 def-sched-var ICV的当前值将确定计划。
引用之前的句子是指第2.3.1节,其中包括:
- def-sched-var - 控制实现定义的循环区域的默认调度。每台设备都有一份此ICV的副本。
2.3.2 ICV初始化一节中的表格指出 def-sched-var 的初始值是实现定义的,并且没有影响该实例的环境变量值。因此,默认循环调度是实现定义的。 Q.E.D。