并行域及其嵌套-analysis i terence tao third edition

时间:2024-06-27 22:51:56
【文件属性】:

文件名称:并行域及其嵌套-analysis i terence tao third edition

文件大小:4.28MB

文件格式:PDF

更新时间:2024-06-27 22:51:56

OpenMP

6.1 并行域及其嵌套 在第 2 章中已经描述过并行域的概念。每当遇到 parallel 制导指令,将产生出多个 OpenMP 线程并发执行直到 parallel 制导指令限定的代码出口处才撤销。OpenMP 的 parallel 制导指令还 允许嵌套(nested),但是需要调用 omp_set_nested()函数修改 ICV 变量或者设置环境变量 OMP_NESTED 来启用嵌套特性,否则系统默认是不允许嵌套的。当系统不支持嵌套时,内层的 并行域只有一个线程在执行。 以下面的代码为例来看看嵌套并行的执行情况: 1. #include 2. int main(void) 3. { 4. omp_set_nested(1); 5. #pragma omp parallel num_threads(2) 6. { 7. int level=0; 8. printf("myid is %d @ level:%d\n",omp_get_thread_num(),level); 9. #pragma omp barrier


网友评论