Dear All,
I have a loop written for GPU (gpuarrays) with multiple matrix inputs, one of which is a diagonal matrix A with size m (A=eye(m)), with m from 10000-100000. m proves limiting as I get GPU memory errors with higher m values. A is involved in several left and right multiplication steps, and is updated (fills) with each iteration. Is there any matrix decomposition/factorization implementation in matlab that will allow rendering of A as A= a*b (or a*b*c and so on) where a size is (m,n), b size (n,m) etc (n << m) so that I can introduce intermediate code steps using a, b etc in these operations and reduce memory cost? Thank you, as always,
Octavian

 採用された回答

Edric Ellis
Edric Ellis 2015 年 3 月 30 日

0 投票

In R2015a, sparse support was added to gpuArray - perhaps this might help you? mtimes is one of the methods that is implemented for sparse gpuArray.

1 件のコメント

Octavian
Octavian 2015 年 3 月 30 日
Thank you Edric, I will try what you suggested. My only concern is that, even if A enters the loop as speye(m), as A fills (the number of nonzero elements increases with every iteration), its memory allocation with drastically increase with the last iterations. If there is a quick way to decompose a nonsparse nonsymmetric square matrix to reduce its size, please let me know. Thank you again,
Octavian

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

質問済み:

2015 年 3 月 30 日

コメント済み:

2015 年 3 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by