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?
......
Asked
Active
Viewed 456 times
1

Ilya Yaremchuk
- 2,007
- 2
- 19
- 36

SIM2
- 11
- 4
1 Answers
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