1

I have to make same computations (for example, get eigenvalues of A1, A2, ...) on many(>10^15) matrices, so I want use threads as many as possible.

But I couldn't find cuBLAS or cuSOLVER codes stating number of threads. Does cuSOLVER automatically distribute resources and parallelize computations if I write code with for loop and cuSOLVER functions?
Or is there any cuSOLVER or cuBLAS API that I can control the number of threads and parallelize functions? ......

Ilya Yaremchuk
  • 2,007
  • 2
  • 19
  • 36
SIM2
  • 11
  • 4

1 Answers1

0

Does cuSOLVER automatically distribute resources and parallelize computations if I write code with for loop and cuSOLVER functions?

No.

Or is there any cuSOLVER or cuBLAS API that I can control the number of threads and parallelize functions?

No.

But, if you care to read the CUSOLVER documentation, you will see that there is a batched sparse QR factorization routine. This can be used to solve eigenvalue problems.

talonmies
  • 70,661
  • 34
  • 192
  • 269
  • It's really hard to understand batched QR factorization. What does exactly 'batched' means? If I 'batch' M NxN matrices, GPU solves MNxMN matrices or NxN matrices parallel or just solve it one by one? And can I make custom 'batch' operations? – SIM2 Feb 16 '18 at 17:41
  • If you submit a batch of N matrices, it will compute the N factorizations in the most efficient way which uses all the available GPU compute capacity. As for the rest, I don't know what that means. You asked about eigenvalues, and that is what my answer describes – talonmies Feb 16 '18 at 17:56