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
