
OpenMP
文章平均质量分 80
hwb506
这个作者很懒,什么都没留下…
展开
-
OpenMP——学习周老师文章(1)
转自:http://blog.youkuaiyun.com/drzhouweiming/archive/2006/08/28/1131537.aspxOpenMP是一个支持共享存储并行设计的库,特别适宜多核CPU上的并行程序设计。今天在双核CPU机器上试了一下OpenMP并行程序设计,发现效率方面超出想象,因此写出来分享给大家。在VC8.0中项目的属性对话框中,左边框里的“配置属性”下的“C/C++”下的“语言”页里,将OpenMP支持改为“是/(OpenMP)”就可以支持OpenMP了。先看一个简单的使用了OpenM转载 2010-07-30 22:42:00 · 570 阅读 · 0 评论 -
OpenMP——学习周老师文章(4)
转自:http://blog.youkuaiyun.com/drzhouweiming/archive/2007/10/26/1844762.aspxOpenMP中的任务调度OpenMP中,任务调度主要用于并行的for循环中,当循环中每次迭代的计算量不相等时,如果简单地给各个线程分配相同次数的迭代的话,会造成各个线程计算负载不均衡,这会使得有些线程先执行完,有些后执行完,造成某些CPU核空闲,影响程序性能。例如以下代码:int i, j;int a[100][100] = {0};for ( i =0; i {for(转载 2010-07-31 09:19:00 · 538 阅读 · 0 评论 -
OpenMP——学习周老师文章(2)
转自:http://blog.youkuaiyun.com/drzhouweiming/archive/2006/09/04/1175848.aspx1、fork/join并行执行模式的概念OpenMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的。前面一篇文章中已经试用了OpenMP的一个Parallel for指令。从上篇文章中我们也可以发现OpenMP并行执行的程序要全部结束后才能执行后面的非并行部分的代码。这就是标准的并行模式fork/join式并行模式,共享存储式并行程序就是使转载 2010-07-30 22:46:00 · 495 阅读 · 0 评论 -
OpenMP——学习周老师文章(3)
转自:http://blog.youkuaiyun.com/drzhouweiming/archive/2008/01/10/2033276.aspx10.1.1 private子句private子句用于将一个或多个变量声明成线程私有的变量,变量声明成私有变量后,指定每个线程都有它自己的变量私有副本,其他线程无法访问私有副本。即使在并行区域外有同名的共享变量,共享变量在并行区域内不起任何作用,并且并行区域内不会操作到外面的共享变量。private子句的用法格式如下:private(list)下面便是一个使用privat转载 2010-07-30 22:52:00 · 514 阅读 · 0 评论