中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD 共享任务结构 共享任务结构将它所包含的代码划分给线程组的各成员 来执行 并行f。or循环 并行 sections 主线程 主线程 主线程 串行执行 FORK FORK FORK DO/for1oop线程列 线程列 SINGLE线程列 ECTIONS IN JOIN JOIN 主线程 主线程 主线程 国家高性能计算中心(合肥) 2021/2/3
国家高性能计算中心(合肥) 19 2021/2/3 共享任务结构 ▪ 共享任务结构将它所包含的代码划分给线程组的各成员 来执行 ▪ 并行for循环 ▪ 并行sections ▪ 串行执行 FORK FORK FORK JOIN JOIN JOIN 主线程 主线程 线程列 主线程 主线程 线程列 主线程 主线程 线程列 SECTIONS DO/for loop SINGLE
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD fo编译制导语句 ■for语句指定紧随它的循环语句必须由线程组并行执行; 语句格式 #pragma omp for [clause[l]clause].]newline [clause]= Schedule(type [chunk]) ordered private(list) firstprivate(list) lastprivate(list) shared (list) reduction(operator: list) nowaIt 国家高性能计算中心(合肥) 2021/2/3
国家高性能计算中心(合肥) 20 2021/2/3 for编译制导语句 ▪ for语句指定紧随它的循环语句必须由线程组并行执行; ▪ 语句格式 ▪ #pragma omp for [clause[[,]clause]…] newline ▪ [clause]= ▪ Schedule(type [,chunk]) ▪ ordered ▪ private (list) ▪ firstprivate (list) ▪ lastprivate (list) ▪ shared (list) ▪ reduction (operator: list) ▪ nowait
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD fo编译制导语句 schedule子句描述如何将循环的迭代划分给线程组中 的线程 如果没有指定 chunk大小,迭代会尽可能的平均分配给 每个线程 type为 static,循环被分成大小为 chunk的块,静态分 配给线程 type为 dynamic循环被动态划分为大小为 chunk的块, 动态分配给线程 国家高性能计算中心(合肥) 2021/2/3 21
国家高性能计算中心(合肥) 21 2021/2/3 for编译制导语句 ▪ schedule子句描述如何将循环的迭代划分给线程组中 的线程 ▪ 如果没有指定chunk大小,迭代会尽可能的平均分配给 每个线程 ▪ type为static,循环被分成大小为 chunk的块,静态分 配给线程 ▪ type为dynamic,循环被动态划分为大小为chunk的块, 动态分配给线程
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD Sections編译制导语句 sections编译制导语句指定内部的代码被划分给线程组 中的各线程 不同的 section由不同的线程执行 Section语句格式: #pragma omp sections clause[]clause].]newline pragma omp section newline #pragma omp section newline 国家高性能计算中心(合肥) 2021/2/3 22
国家高性能计算中心(合肥) 22 2021/2/3 Sections编译制导语句 ▪ sections编译制导语句指定内部的代码被划分给线程组 中的各线程 ▪ 不同的section由不同的线程执行 ▪ Section语句格式: #pragma omp sections [ clause[[,]clause]…] newline { [#pragma omp section newline] … [#pragma omp section newline] … }
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD Sections編译制导语句 ause private(list) firstprivate(list) lastprivate (list) reduction(operator: list) nowait 在 sections语句结束处有一个隐含的路障,使用了 nowait-子句除外 国家高性能计算中心(合肥) 2021/2/3 23
国家高性能计算中心(合肥) 23 2021/2/3 Sections编译制导语句 ▪ clause= ▪ private (list) ▪ firstprivate (list) ▪ lastprivate (list) ▪ reduction (operator: list) ▪ nowait ▪ 在sections语句结束处有一个隐含的路障,使用了 nowait子句除外