我想知道是否有一种方法可以在OpenMP的各部分之间包含依赖关系?我知道在使用任务时可以这样做,但是有没有一种使用部分的方式?假设我有以下情况:
#pragma omp parallell sections
{
#pragma single
{
if (....) {
#pragma section
{
a = A(); // <- Takes much more time than B and will be parallellized further within A
}
#pragma section
{
b = B();
}
}
...
#pragma section (dependent on b?)
for (...) {
c = C(b);
}
}
}
确保“ b”可用后执行最后一节的最佳方法是什么?