我需要通过闭合源模块提供的回调连续检查终止条件。然后线程进入并行部分。我不知道这个回调是否可以从接收它的其他线程调用,所以如果我想在并行部分中使用它,我应该只有主要的“原始”线程调用它。我可以这样做,但我需要假设主线程总是进入它,否则不会调用回调。这有用吗?
答案 0 :(得分:0)
您描述的内容适合
#pragma omp master
有关详细信息,请参阅What is the benefit of '#pragma omp master' as opposed to '#pragma omp single'?
答案 1 :(得分:0)
从OpenMP 4.5 Complete Specifications
当任何线程遇到并行构造时,该线程都会创建一个 本身的团队和零个或多个其他线程,并成为 新团队的主人。
是的,主线程进入了oMP 部分。
请注意,术语 section 在这里可能不合适,就好像您有多个#pragma omp section
一样,您也不知道哪个线程将执行哪个线程。