MATLAB Answers

gpuArray for vpa (variable precision arithmetic)

8 views (last 30 days)
Problem:
I have big matrices with elements defined through variable precision arithmetic of the symbolic toolbox (vpa(x)).
Extracting the eigenvalues out of these matrices takes about 7 minutes.
operations that imply inversion-ish operations (C=A\B) also take some minutes.
Question:
Could I have any benefit from gpu computation?
To be clearer on what I don't understand:
I know that symbolic maths are not supported by GPU computing but in my case the variable is not really symbolic, it just has higher precision.
Thank you for any clarification

  3 Comments

NICOLA BARBINI
NICOLA BARBINI on 20 Dec 2019
I think this answers the last part of the question:
extended precision numbers can benefit from accelerated GPU computing.
Unfortunately, if I understand correctly, the linked library supports only basic operations on multiple precision numbers, not on "compound" data as matrices and complex numbers.
Anyway thank you, I couldn't find this package on my own and it addreses part of the problem exactly.

Sign in to comment.

Accepted Answer

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 6 Dec 2019
In this case you are going to have to sacrifice something, if you use VPA the matrices become symbolic, therefore all the operations you do with them are going to slow down, GPU does not support these matrices so it would not give you anything.
On the other hand if you stay with "normal" matrices you will have a maximum of 15 digits after the decimal point, and using the GPU could give you something depending on the operations you are doing
If you really need too much precision you can search about Pari / GP that you could integrate with Matlab, or also Accelerating MATLAB Code Using Codegen and Mex Files

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.