For a project im in need of a nonlinear least squares solver for the purpose of curve fitting with custom functions. Thus I have a set of observed points, a set of target points and a (user specific) function whose parameters I seek to optimise in order to minimize the square error.

As far as I can tell algorithms to solve this sort of problem are nonlinear conjugate gradient (NLCG) or the Levenberg-Marquardt algorithm (LMA). Unfortunately I could not find any OpenCL (or even CUDA) library solving this particularly problem.

Does someone know about an existing implementation?

Thanks

Consider using Nelder Mead instead of NLCG or LMA. I'm not sure if it is in any existing library,

but it would be simple to implement in OpenCL. NM is flexible and sounds like a good "fit" to your

project problem statement - I've used a C++ implementation I wrote for similar work for many years.

I think there's a partial implementation of NM in Rob Farber's CUDA book, but it's probably quicker to

write a new routine from scratch than try to translate his code from CUDA to OpenCL.