openmp上的for循环

时间:2013-04-13 05:25:35

标签: parallel-processing openmp

当我不使用openMP时,以下代码运行得更快。为什么会这样? 我在双核机器上运行它。 使用开放式磁带运行所需的时间约为0.05秒,而在没有使用openMP运行它时只需0.03秒。

#include<omp.h>
#include<iostream>
#include<time.h>
using namespace std;

int main()
{
clock_t start=clock();
int i,j,t1,t2, n=1;
float a[1000][1000];
float b[1000][1000];



#pragma omp parallel 
{
#pragma omp for private(i)
for(j=0; j<1000; j++)
{
    for(i=0; i<1000; i++)


    {
            a[i][j]=(i*j*i*j)/(i+j+1)/(i*j*i+8*i+1);
            b[i][j]=(i*j*i*j)/(i+j+1)/(i*j*i+8*i+1);

    }
}
}
clock_t end=clock();
cout<<"Time to run is "<<(double)(end - start)/CLOCKS_PER_SEC<<endl;
}

0 个答案:

没有答案