Backslash operator on GPU
12 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 GPU Computing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!