当前位置: 代码迷 >> 多核软件开发 >> 新手 openmp编程求解解决办法
  详细解决方案

新手 openmp编程求解解决办法

热度:401   发布时间:2013-02-26 00:00:00.0
新手 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线程完成并行

  相关解决方案