3

Is this possible to solve a nonlinear system of n equation, n unknowns on Matlab, using graphical processor?

I can't think of any parallel solution for such an application, and solve function seems not implemented for GPU arrays in Matlab.

Update

Example:

syms x y z;
f1= x+y+z;
f2= x^2+y^2+z^2;
f3= x+y+z;
system=[f1;f2;f3];
solve(system)
vpasolve(system)
Amro
  • 123,847
  • 25
  • 243
  • 454
sorush-r
  • 10,490
  • 17
  • 89
  • 173
  • There might be something in Jacket (AccelerEyes, now ArrayFire) – Marco A. Jul 17 '14 at 16:27
  • @MarcoA. It's not free... – sorush-r Jul 17 '14 at 16:36
  • exactly which `solve` function are you talking about? Please post an example code using regular CPU functions. – Amro Jul 17 '14 at 17:33
  • @Amro See the update. I know only `solve` and `vpasolve` functions. – sorush-r Jul 17 '14 at 17:45
  • 1
    ah those are symbolic math functions! To answer you question, there is NO equivalent that runs of the GPU... But why do you want to do that in the first place?? It's not gonna run any faster, there is no numeric data involved.. – Amro Jul 17 '14 at 17:51
  • @Amro Because it's too slow on CPU. – sorush-r Jul 17 '14 at 17:56
  • 3
    GPGPU is not a magic solution to make everything run faster! This sort of symbolic math manipulation is not gonna benefit from the GPU.. – Amro Jul 17 '14 at 18:00
  • 1
    you can make the solver faster by adding explicit assumptions on the variables involved in the equations. So if you know that x/y/z are real you should let the solver know, similarly if you expect the solution to be in a specific range: http://www.mathworks.com/help/symbolic/assume.html – Amro Jul 17 '14 at 18:02
  • @Amro Yeah I know. As I said in question, I have no idea about how can a numerical method could be parallelized (or couldn't). – sorush-r Jul 17 '14 at 18:48

0 Answers0