最近在研究OpenMp,写了一段代码,如下:
#include#include#include#include
#define THREAD_NUM 8
intmain()
{
clock_t start,finish;int n=80000000;intsum;
start=clock();for(int i=0;i
{
sum+=2;
sum-=1;
}
finish=clock();
printf("Serial computation\n");
printf("time:%lf\n",(double)(finish-start)/CLOCKS_PER_SEC);
printf("Parallel computation\n");
start=clock();#pragma omp parallel num_threads(THREAD_NUM){int nth=omp_get_num_threads();int me=omp_get_thread_num();int mysum=0;
clock_t t1,t2;
t1=clock();for(int i=me;i
{
mysum+=2;
mysum-=1;
}
t2=clock();
printf("time:%lf\t%d\n",(double)(t2-t1)/CLOCKS_PER_SEC,mysum);
}