Révision 187 Pi/C/OpenACC/Pi_OpenACC.c
Pi_OpenACC.c (revision 187) | ||
---|---|---|
130 | 130 |
return(total); |
131 | 131 |
} |
132 | 132 |
|
133 |
LENGTH splitter(LENGTH iterations,int seed_w,int seed_z,int ParallelRate) {
|
|
133 |
LENGTH splitter(LENGTH iterations,unsigned int seed_w,unsigned int seed_z,unsigned int ParallelRate) {
|
|
134 | 134 |
|
135 |
LENGTH inside[1048576],insides=0;
|
|
135 |
LENGTH *inside,insides=0;
|
|
136 | 136 |
int i; |
137 | 137 |
struct timeval tv1,tv2; |
138 | 138 |
struct timezone tz; |
139 | 139 |
LENGTH IterationsEach=((iterations%ParallelRate)==0)?iterations/ParallelRate:iterations/ParallelRate+1; |
140 |
|
|
141 |
inside=(LENGTH*)malloc(sizeof(LENGTH)*ParallelRate); |
|
140 | 142 |
|
141 | 143 |
#if _OPENACC |
142 | 144 |
acc_init(acc_device_nvidia); |
... | ... | |
163 | 165 |
double itops=(double)(ParallelRate*IterationsEach)/elapsed; |
164 | 166 |
|
165 | 167 |
printf("ParallelRate %i\nElapsed Time %.2f\nItops %.0f\n",ParallelRate,elapsed,itops); |
166 |
|
|
168 |
|
|
169 |
free(inside); |
|
167 | 170 |
return(insides); |
168 | 171 |
} |
169 | 172 |
|
Formats disponibles : Unified diff