读书人

新手 openmp编程求解解决办法

发布时间: 2012-02-09 18:22:27 作者: rapoo

新手 openmp编程求解 - 专题开发/技术/项目 / 多核软件开发
#include <omp.h>
#include <stdio.h>
int main(int argc ,char *argv[])
{
printf("hello the serial");
int i,j;
//开始并行执行
for(i=0;i<2;i++)
#pragma omp parallel
for(j=6;j<10;j++)
printf("i=%d,j=%d\n",i,j);
printf("Hello from serial again.\n");
return(0);
}
以上是源程序,
运行结果
i=0,j=6
i=0,j=6
i=0,j=7
i=0,j=8
i=0,j=9
i=1,j=6
i=1,j=6
i=1,j=7
i=1,j=8
i=1,j=9
Hello from serial again.
为什么 j=6 连续打印两次
求解释,很迷茫。。。


[解决办法]
说明你的机器有两个处理器/核,因此自动生成两个OMP线程完成并行

你把 #pragma omp parallel 改成 #pragma omp parallel for 再试试就知道差别了

[解决办法]
说明你的机器有两个处理器/核,因此自动生成两个OMP线程完成并行

读书人网 >软件开发

热点推荐