sparse in cuda matlab shows bad performance

3 ビュー (過去 30 日間)
俊凯 王
俊凯 王 2021 年 11 月 5 日
回答済み: Joss Knight 2021 年 11 月 6 日
This question is simple
I understand that MATLAB solves sparse linear equations by multi wavefront method on CPU
like sparse_a Is a sparse b is a full vector then x can be computed by x=sparse_a\b
is there any method to let matlab compute sparse in gpu?
gpu_sparse_a=gpuArray(sparse_a ) b_gpu=gpuArray(b)
and then x=gpu_sparse_a\b_gpu
result shows that gpu compute sparse slower than cpu....why?is sparse in cpu transfer into gpu actually become a full matrix?
  5 件のコメント
俊凯 王
俊凯 王 2021 年 11 月 5 日
easy code,randi sparse in cpu and gpu,if you run in matlab ,performance shows different,if M is larger ,Greater efficiency gap
俊凯 王
俊凯 王 2021 年 11 月 5 日
編集済み: 俊凯 王 2021 年 11 月 5 日
and i wonder if the sparse solver on the CPU uses a multi-core CPU

サインインしてコメントする。

採用された回答

Joss Knight
Joss Knight 2021 年 11 月 6 日
It is often slower. The problem is that sparse factorizations create dense matrices...basically, it's hard to parallelize.
We generally advise to use the sparse iterative solvers, generally with preconditioners, instead. These are typically faster on GPU and CPU. Look for gmres, cgs, pcg and so on.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGPU Computing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by