1、并行算法实践国家高性能计算中心(合肥)22023-6-4并行算法实践上篇 并行程序设计导论国家高性能计算中心(合肥)32023-6-4单元II 并行程序编程指南国家高性能计算中心(合肥)42023-6-4第七章第七章 OpenMP编程指南编程指南国家高性能计算中心(合肥)52023-6-4OpenMP概述国家高性能计算中心(合肥)62023-6-4 OpenMP体系结构应 用编译制导运行库例程OS 线 程用 户环境变量国家高性能计算中心(合肥)72023-6-4什么是OpenMP 国家高性能计算中心(合肥)82023-6-4OpenMP的历史 国家高性能计算中心(合肥)92023-6-4Ope
2、nMP的目标国家高性能计算中心(合肥)102023-6-4OpenMP并行编程模型 FORKJOINFORKJOIN主线程并行域并行域国家高性能计算中心(合肥)112023-6-4OpenMP程序结构 国家高性能计算中心(合肥)122023-6-4OpenMP程序结构国家高性能计算中心(合肥)132023-6-4一个简单的OpenMP程序实例 国家高性能计算中心(合肥)142023-6-4一个简单的OpenMP程序实例国家高性能计算中心(合肥)152023-6-4编译制导#pragma ompdirective-nameclause,.newline制导指令前缀。对所有的OpenMP语句都需要
3、这样的前缀。OpenMP制导指令。在制导指令前缀和子句之间必须有一个正确的OpenMP制导指令。子句。在没有其它约束条件下,子句可以无序,也可以任意的选择。这一部分也可以没有。换行符。表明这条制导语句的终止。国家高性能计算中心(合肥)162023-6-4编译制导国家高性能计算中心(合肥)172023-6-4作用域作用域国家高性能计算中心(合肥)182023-6-4并行域结构国家高性能计算中心(合肥)192023-6-4共享任务结构FORKFORKFORKJOINJOINJOIN主线程主线程线程列主线程主线程线程列主线程主线程线程列SECTIONSSINGLEDO/for loop国家高性能计算
4、中心(合肥)202023-6-4for编译制导语句国家高性能计算中心(合肥)212023-6-4for编译制导语句国家高性能计算中心(合肥)222023-6-4Sections编译制导语句国家高性能计算中心(合肥)232023-6-4Sections编译制导语句国家高性能计算中心(合肥)242023-6-4Sections编译制导语句国家高性能计算中心(合肥)252023-6-4single编译制导语句国家高性能计算中心(合肥)262023-6-4组合的并行共享任务结构国家高性能计算中心(合肥)272023-6-4parallel for编译制导语句编译制导语句国家高性能计算中心(合肥)282
5、023-6-4parallel for编译制导语句编译制导语句国家高性能计算中心(合肥)292023-6-4parallel sections编译制导语句编译制导语句国家高性能计算中心(合肥)302023-6-4同步结构国家高性能计算中心(合肥)312023-6-4master 制导语句制导语句国家高性能计算中心(合肥)322023-6-4critical制导语句制导语句国家高性能计算中心(合肥)332023-6-4critical制导语句制导语句国家高性能计算中心(合肥)342023-6-4barrier制导语句制导语句国家高性能计算中心(合肥)352023-6-4barrier制导语句制导
6、语句错误正确if(x=0)#pragma omp barrierif(x=0)#pragma omp barrier 国家高性能计算中心(合肥)362023-6-4atomic制导语句制导语句国家高性能计算中心(合肥)372023-6-4flush制导语句制导语句国家高性能计算中心(合肥)382023-6-4ordered制导语句制导语句国家高性能计算中心(合肥)392023-6-4threadprivate编译制导语句国家高性能计算中心(合肥)402023-6-4threadprivate编译制导语句国家高性能计算中心(合肥)412023-6-4数据域属性子句国家高性能计算中心(合肥)422
7、023-6-4private子句子句PRIVATETHREADPRIVATE数据类型变量变量位置在域的开始或共享任务单元在块或整个文件区域的例程的定义上持久么否是扩充性只是词法的-除非作为子程序的参数而传递动态的初始化使用 FIRSTPRIVATE使用 COPYIN国家高性能计算中心(合肥)432023-6-4shared子句子句国家高性能计算中心(合肥)442023-6-4default子句子句国家高性能计算中心(合肥)452023-6-4firstprivate子句子句国家高性能计算中心(合肥)462023-6-4lastprivate子句子句国家高性能计算中心(合肥)472023-6-4
8、copyin子句子句国家高性能计算中心(合肥)482023-6-4reduction子句子句国家高性能计算中心(合肥)492023-6-4reduction子句子句国家高性能计算中心(合肥)502023-6-4reduction子句子句国家高性能计算中心(合肥)512023-6-4子句子句/编译制导语句总结编译制导语句总结子句编译制导PARALLELDO/forSECTIONSSINGLEPARALLEL DO/forPARALLEL SECTIONSIFPRIVATESHAREDDEFAULTFIRSTPRIVATELASTPRIVATEREDUCTIONCOPYINSCHEDULEORDE
9、REDNOWAIT国家高性能计算中心(合肥)522023-6-4语句绑定和嵌套规则语句绑定和嵌套规则国家高性能计算中心(合肥)532023-6-4语句绑定和嵌套规则语句绑定和嵌套规则国家高性能计算中心(合肥)542023-6-4运行库例程与环境变量运行库例程与环境变量国家高性能计算中心(合肥)552023-6-4OpenMP计算实例计算实例国家高性能计算中心(合肥)562023-6-4OpenMP计算实例计算实例国家高性能计算中心(合肥)572023-6-4国家高性能计算中心(合肥)582023-6-4OpenMP计算实例计算实例国家高性能计算中心(合肥)592023-6-4国家高性能计算中心(合肥)602023-6-4OpenMP计算实例计算实例国家高性能计算中心(合肥)612023-6-4OpenMP计算实例计算实例