Révision 188 Pi/C/OpenMP/Pi_OpenMP.c

Pi_OpenMP.c (revision 188)
129 129
  struct timeval tv1,tv2;
130 130
  LENGTH IterationsEach=((iterations%ParallelRate)==0)?iterations/ParallelRate:iterations/ParallelRate+1;
131 131

  
132
  inside=(LENGTH*)malloc(sizeof(LENGTH)*ParallelRate);
133
  
134
  gettimeofday(&tv1, NULL);
135
  
136
#pragma omp parallel for
137
  for (int i=0 ; i<ParallelRate; i++) {
138
    inside[i]=MainLoopGlobal(IterationsEach,seed_w+i,seed_z+i);
132
#pragma omp parallel for  
133
  for (int i=0 ; i<process; i++) {
134
    inside[i]=MainLoopGlobal(iterations/process,seed_w+i,seed_z+i);
139 135
  }
140
  
141
  for (int i=0 ; i<ParallelRate; i++) {
136

  
137
  for (int i=0 ; i<process; i++) {
138
    printf("\tFound %lld for process %i\n",(long long)inside[i],i);
142 139
    insides+=inside[i];
143 140
  }
144
  
145
  gettimeofday(&tv2, NULL);
146
  
147
  for (int i=0 ; i<ParallelRate; i++) {
148
    printf("\tFound %lld for ParallelRate %i\n",(long long)inside[i],i);
149
  }
150 141
  printf("\n");
151 142

  
152 143
  double elapsed=(double)((tv2.tv_sec-tv1.tv_sec) * 1000000L +

Formats disponibles : Unified diff