I am using GSL in an openMP program. It usually goes pretty well, but I
recently ran a problem where I started getting random results (the
deterministic problem returned wildly different results on each run.)
I was finally able to get Intel Inspector to give me a clue. It says there is
a data race in gsl_intep_accel_find at:
Line 210,211:
a->miss_count++;
a->cache - gsl_interp_bsearch(ca, x, x_intex, len-1)
The call stack is:
gsl_spline_eval_integ:190
gsl_intep_eval_integ:273
cspline_eval_integ:403
gsl_interp_accel_find:211
Avoiding calling this in the threading region does seem to solve the issue.
1) Is this a known issue?
2) Is there a known way to get around it?
3) Is it already fixed in a newer version of GSL?
Thanks,
Jim