Backslash operator on GPU
8 次查看(过去 30 天)
显示 更早的评论
Hello,
I need to perform a backslash operation (A \ B = x) to solve Ax = B.
The A matrix has 10^4 - 10^6 D.O.F, so a square matrix of 10^6 x 10^6. It is very sparse, with approx. 21 non-zero entries per row.
Because of its sparseness, I can reach very large matrices on the CPU, by using the sparse() form. However, when I try to use the \ operator on gpuArrays, it says that I cannot have a sparse matrix as a gpuArray variable. This therefore limits me on the card to about ~8000x8000 square matrix.
The increase in performance on the GPU is substantial, above >1000x1000 square matrix, and is absolutely necessary for 10^6 x 10^6 matrices.
Is there any way I can input sparse matrices on the GPU? Any other way of accelerating such a computation? Any suggestions?
Cheers,
Francesco
0 个评论
采纳的回答
Edric Ellis
2013-11-27
编辑:Edric Ellis
2024-3-15
Sparse arrays are now supported on the GPU, here's a page describing the support: https://www.mathworks.com/help/parallel-computing/work-with-sparse-arrays-on-a-gpu.html . This support was added several years ago (but was not available at the time the original question was posed).
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!