2012-03-29 73 views
6

我致力於將大型Matlab代碼轉換爲C++和CUDA。我有問題將一些稀疏矩陣運算等:CUDA上的稀疏矩陣運算

1. full_Matrix * sparse_Matrix 
2. sparse_Matrix * full_Matrix 
3. sparse_Matrix * sparse_Matrix (SOLVED WITH CUSP) 
4. full_Matrix .* sparse_Matrix (elementwise multiplication) 
5. sparse_Matrix * full_Matrix  (elementwise multiplication) 
6. sparse_Matrix .* sparse_Matrix (elementwise multiplication) 

我能夠使用CUSPARSE和3使用CUSP解決2,但我不能夠使用尖點(或CUSPARSE),用於按元素矩陣乘法或對問題1.

我很感興趣,如果有一個CUDA庫實現所有上述操作(最好是開源的)。

謝謝

+2

uhh,'(AB)=(B'A')''? – Anycorn 2012-03-29 04:27:51

+0

@Anycorn雖然在理論上是正確的,但你正在做3個轉置,可以矯枉過正(當然取決於你的數組大小)。 – mmisu 2012-03-29 04:51:09

+0

你應該能夠指定轉置標誌,因此只有一個轉置。 – Anycorn 2012-03-29 04:53:09

回答