forked from personal/squiggle.c
try adding quotient as private variable
This commit is contained in:
parent
14a18276c0
commit
1eccd33c71
|
@ -56,14 +56,16 @@ void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_
|
||||||
}
|
}
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
#pragma omp parallel private(i)
|
#pragma omp parallel private(i, quotient)
|
||||||
{
|
{
|
||||||
#pragma omp for
|
#pragma omp for
|
||||||
for (i = 0; i < n_threads; i++) {
|
for (i = 0; i < n_threads; i++) {
|
||||||
|
int quotient = n_samples / n_threads;
|
||||||
int lower_bound_inclusive = i * quotient;
|
int lower_bound_inclusive = i * quotient;
|
||||||
int upper_bound_not_inclusive = ((i + 1) * quotient); // note the < in the for loop below,
|
int upper_bound_not_inclusive = ((i + 1) * quotient); // note the < in the for loop below,
|
||||||
for (int j = lower_bound_inclusive; j < upper_bound_not_inclusive; j++) {
|
for (int j = lower_bound_inclusive; j < upper_bound_not_inclusive; j++) {
|
||||||
results[j] = sampler(&(cache_box[i].seed));
|
results[j] = sampler(&(cache_box[i].seed));
|
||||||
|
// Could also result in inefficient cache stuff, but hopefully not too often
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user