利用OpenMP给程序加速.ppt_第1页
利用OpenMP给程序加速.ppt_第2页
利用OpenMP给程序加速.ppt_第3页
利用OpenMP给程序加速.ppt_第4页
利用OpenMP给程序加速.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用OpenMP给程序加速,多核的简单编程,报告者:空气,一、OpenMP简介 二、OpenMP使用方法 三、OpenMP效率测试,主要内容,一、OpenMP简介,1)、OpenMP是作为共享存储标准而问世的 2)、它是为在多处理机上编写并行程序而设计的一个应用编程接口 3)、它包括一套编译指导语句和一个用来支持它的函数库,1、OpenMP的特点,2、OpenMP的优势,如果用一般的方法写多线程 的程序,就是利用 thread 的控制,去实际在程式中去 产生其他的 thread 来处理,thread,实际上要去控制 thread 是满麻烦的,在程序的编写上,也会复杂不少;而如果我们只是想要把一

2、些简单的循环平行化处理,用 thread library 来控制,实在有点杀鸡用牛刀的感觉。这时候,用 Open MP 就简单多了! 在最简单的情形,甚至可以只加一行指 令,就可以将回圈内的程式平行化处理 了!,二、OpenMP使用方法,在VS2005以上的版本中,只需要在“项目属性C/C+语言OpenMP”中点选“是” 在GCC4.2以上的版本中,只需要编译时加上-fopenmp参数就行了,1、搭建OpenMP编译环境,它的语法很简单,如下所示: #pragma omp option clause , clause Program code1; Program code2; ,2、OpenMP一些语法,void main() #pragma omp parallel sections num_threads(2) #pragma omp section printf(“section 1 ThreadId = %dn”,omp_get_thread_num(); #pragma omp section printf(“section 2 ThreadId = %dn”,omp_get_thread_num(); 执行后将打印出以下结果: section 1 ThreadId = 0 sect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论