你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 专家论坛
OpenMP的多核并行程序设计(二)
 

OpenMP 执行模型采用分叉-合并的方式。程序开始是以一个单进程运行,称为执行的主线程。主线程顺序运行到第一个并行块结构时就生成一个线程组,原来的主线程成为线程组的主线程。程序中被并行块包围起来的所有语句在线程组中并行执行,一直到并行块执行完后,线程组中的线程中止,而主线程继续执行。一个程序中可以定义任意数目的并行块,因此,在一个程序的执行中可以分叉、合并若干次。

3  OpenMP指令和语法

OpenMP通过编译指导语句来显式的指导并行化,编译指导语句的含义是在编译器编译程序时,会识别特定的注释,而这些特定的注释就包含着OpenMP程序的一些语义,在一个无法识别OpenMP语义的普通编译器中,会将这些特定的注释当作是普通的注释而被忽略,这种性质带来的好处是程序员可以用同一份代码来编写串行或者并行程序,或在把串行程序改编成并行程序的时候,保持串行源代码部分不变,从而极大地方便程序编写人员。

31 OpenMP指令格式

OpenMP的指令格式为:

#pragma omp directive-name [clause[ [,] clause]...] 

OpenMP的所有编译指导语句以#pragma omp开始,后面跟着具体的功能指令,其中directive部分就包含了具体的编译指导语句,包括parallelforparallel forsectionsectionssinglemastercriticalflushorderedatomic。这些编译指导语句或者用来分配任务,或者用来同步。后面的可选字句clause给出了相应的编译指导语句的参数,字句可以影响到编译指导语句的具体行为,每一个编译指导语句都有一系列适合它的子句,其中有5个编译指导语句(mastercriticalflushorderedatomic)不能跟相应的子句。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089