一起来学OpenMP(1)——初体验
来源:互联网 发布:上海行知小学对口 编辑:程序博客网 时间:2024/04/29 00:10
OpenMP是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程语言。
我的开发环境是Windows、VS2008、双核处理器。
1. 在VS2008程序目录下找到vcomp90d.dll文件,并复制到windows/system32/目录下。
2. 创建一个名为OpenMP的空控制台工程(即没有VS2008不会生成任何文件)
3. 添加一个名为OpenMP.cpp的源文件
4. “工程属性->C/C++->OpenMP支持”设置如下图:
5. 简单的OpenMP代码。
执行结果如下:
可以看到,i从0至9的循环任务被分配到两个核上,第一个核执行了0~4,第二个核执行了5~9。
6. 小节
通过#pragma omp预处理指示符指定要采用OpenMP,这里通过#pragma omp parallel for来指定下方的for循环采用多线程执行,此时编译器会根据CPU的个数来创建线程数,对于双核系统,编译器会默认创建两个线程执行并行区域的代码。
#pragma omp有许多用法,后续一一介绍。
- 一起来学OpenMP(1)——初体验
- 一起来学OpenMP(1)
- 一起来学OpenMP(2)——常用的库函数
- 一起来学OpenMP(2)——常用的库函数
- 一起来学UML(1)——UML建模工具Umbrello初体验
- 一起来学UML(1)——UML建模工具Umbrello初体验
- 一起来学UML(1)——UML建模工具Umbrello初体验
- 一起来学UML(1)——UML建模工具Umbrello初体验
- 一起来学OpenMP(3)——for循环并行化基本用法
- 一起来学OpenMP(4)——数据的共享与私有化
- 一起来学OpenMP(5)——有效的数据规约
- 一起来学OpenMP(6)——线程同步之atomic
- 一起来学OpenMP(7)——线程同步之临界区
- 一起来学OpenMP(8)——线程同步之互斥锁函数
- 一起来学OpenMP(9)——线程同步之事件同步机制
- 一起来学OpenMP(10)——线程的调度优化
- 一起来学OpenMP(3)——for循环并行化基本用法
- 一起来学OpenMP(4)——数据的共享与私有化
- 3、java小贴士_2010年6月6日
- 得分
- ubuntu 安装smb共享文件夹
- 异常:java.lang.IllegalStateException怎么解决?
- POJ 1001 高精度乘法运算
- 一起来学OpenMP(1)——初体验
- git 获取android.jar
- P2P终结者---控制整个局域网网络的管理软件
- 概念图与思维导图
- ASP.NET实现无刷新倒计时功能
- P2P终结者---控制整个局域网网络的管理软件
- 我只是想试试能不能加积分
- 概念图与思维导图(2)
- 8--2支持阻塞操作的globalfifo设备驱动