当程序执行达到omp sections
指令时,将分配以下omp section
指令定义的程序段,以便在可用线程之间并行执行。原始线程是否执行由`omp section`指令定义的程序段之一?
是对原来的线程,即,在到达
omp sections
,即执行由omp section
指令定义程序段中的一个的线程之一之前运行的线程?在所有线程完成执行由
omp section
指令定义的程序段之后,原始线程将是唯一一个保持现有状态并继续执行的线程吗?
在下面的例子中,哪个线程是原始线程,1或2或其他?
#pragma omp sections
{
# pragma omp section
{ printf("thread 1 here\n"); }
# pragma omp section
{ printf("thread 2 here\n"); }
}
谢谢。
谢谢。你如何获得当前线程的线程ID号? – Ben
'omp_get_thread_num()' – Zulan
是否有某种OpenMP旋钮可以扭曲以“鼓励”主人运行其中一个部分?主线程将被暂停(并自愿放弃其CPU片段)以让工作线程运行每个部分,这是不太理想的,因为主线程在并行块的末尾进行连接 – igaz