第4章 OpenMP 多线程编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:54 大小:367KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第4章 OpenMP 多线程编程.ppt

第4章OpenMP多线程编程.ppt

预览

免费试读已结束,剩余 44 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章OpenMP多线程编程目标1.OpenMP简介2.OpenMP特点引例3.OpenMP基本语法3.1parallel——并行执行#pragmaompparallelforfor(i=0;i<numPixels;i++){psum[i]=(pRed[i]*0.2+pBlue[i]*0.3+pYellow[i]*0.5);}对于循环的五点约束任务分配机制pragmas的合并4.不共享的数据默认情况下,并行区中所有的变量都是多线程共享的,但上述情况例外。修改数据的共享属性可以用private和shared子句5.2共享化练习:练习:存在的问题问题5.3OpenMPCritical结构5.3OpenMPCritical结构5.4OpenMPReduction结构5.4OpenMPReduction结构其他常用OpenMPpragmas7.1parallelsections并行化下面代码7.2single结构7.3master结构取消隐式栅障结构:分析7.5barrier结构分析综合练习7.6atomic结构8.OpenMP库函数应用阅读程序voidmain(intargc,char*argv){#pragmaompparallelsections{#pragmaompsectionprintf(“section1ThreadId=%d\n”,omp_get_thread_num());#pragmaompsectionprintf(“section2ThreadId=%d\n”,omp_get_thread_num());#pragmaompsectionprintf(“section3ThreadId=%d\n”,omp_get_thread_num());#pragmaompsectionprintf(“section4ThreadId=%d\n”,omp_get_thread_num());}9.本章小结练习6.调度优化:分配任务的原则优化几种调度策略:static静态dynamic动态guided指导6.1静态平均调度策略(默认不指定块大小)例6.2动态调度策略6.3指导调度策略6.3指导调度策略例:调度策略的应用例子性能分析性能分析