Révision 189
Pi/C/OpenMP/Pi_OpenMP.c (revision 189) | ||
---|---|---|
129 | 129 |
struct timeval tv1,tv2; |
130 | 130 |
LENGTH IterationsEach=((iterations%ParallelRate)==0)?iterations/ParallelRate:iterations/ParallelRate+1; |
131 | 131 |
|
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); |
|
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); |
|
135 | 139 |
} |
136 |
|
|
137 |
for (int i=0 ; i<process; i++) { |
|
138 |
printf("\tFound %lld for process %i\n",(long long)inside[i],i); |
|
140 |
|
|
141 |
for (int i=0 ; i<ParallelRate; i++) { |
|
139 | 142 |
insides+=inside[i]; |
140 | 143 |
} |
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 |
} |
|
141 | 150 |
printf("\n"); |
142 | 151 |
|
143 | 152 |
double elapsed=(double)((tv2.tv_sec-tv1.tv_sec) * 1000000L + |
Formats disponibles : Unified diff