Hi, I am struggling to find a way to solve a simple equation on CUDA: y - atan(y) = 0. I have found cuSolver but it does not allow to consider implicit equations. Is there any library that allows to calculate equation’s root in a convenient way like for example GSL One Dimensional Root-Finding library does?

How many of these equations do you have to solve in parallel?

I have a matrix of 256 x 248 points and in each point i need to resolve this relation. Range of y is [0,1]. Meanwhile I have found this: GitHub - szunami/optimize: Simple cuda optimization library, but it is highly inefficient, what can be seen on plots there.

I am not aware of any CUDA-accelerated library for general root finding nor any published papers. I am aware of a few papers looking into CUDA for parallelized root finding for *polynomials* of extremely high degree, but don’t know whether the researchers found worthwhile speedup. This doesn’t mean such code might not exist somewhere, just that I am not aware of such work.

Given how long GPU computing and CUDA has been around the lack of publications seems to indicate either one or both of two scenarios: (1) There is hardly any interest in speeding up general root finding, as this is not typically a bottleneck in HPC (2) It is very hard to achieve meaningful speedup for general root finding on CUDA-enabled platforms.

BTW, is the equation above (y - atan(y) = 0) your actual equation? If so, unless I am missing something, the only solution over the reals is y = 0.

Thank you for clarifying me the actual case. To be precise equation posses also some multipliers next to y that change with iteration. I apologize for this mistake, I have tried to state this question in a simple manner.