Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cuda 如何在cuSparse中转置稀疏矩阵?_Cuda - Fatal编程技术网

Cuda 如何在cuSparse中转置稀疏矩阵?

Cuda 如何在cuSparse中转置稀疏矩阵?,cuda,Cuda,我正在尝试使用cuSparse计算A^TAA是一个大而稀疏的矩阵。基于的正确函数是cusparseDcsrgemm2。但是,这是少数不支持输入矩阵的可选内置转置的cuSparse操作之一。文件中有一行写道 仅支持NN版本。对于其他模式,用户必须 显式转置A或B 问题是我在cuSparse中找不到可以执行转置的函数。我知道我可以在CPU中转置并将其复制到GPU,但这会降低应用程序的速度。我错过什么了吗?使用CUSPASE计算CSR(或CSC)格式矩阵的A^TA?的正确方法是什么: 矩阵的CSR稀疏

我正在尝试使用cuSparse计算
A^TA
A
是一个大而稀疏的矩阵。基于的正确函数是
cusparseDcsrgemm2
。但是,这是少数不支持输入矩阵的可选内置转置的cuSparse操作之一。文件中有一行写道

仅支持NN版本。对于其他模式,用户必须 显式转置A或B


问题是我在cuSparse中找不到可以执行转置的函数。我知道我可以在CPU中转置并将其复制到GPU,但这会降低应用程序的速度。我错过什么了吗?使用CUSPASE计算CSR(或CSC)格式矩阵的
A^TA

的正确方法是什么:

矩阵的CSR稀疏表示与转置的CSC稀疏表示具有相同的格式/内存布局


因此,如果我们使用,得到的CSC格式矩阵实际上与原始矩阵转置的CSR表示相同。因此,此CSR到CSC转换例程可用于查找CSR格式稀疏矩阵的转置。(类似地,它可用于查找CSC格式稀疏矩阵的转置。)

对于CSR(或CSC)格式的矩阵:

矩阵的CSR稀疏表示与转置的CSC稀疏表示具有相同的格式/内存布局


因此,如果我们使用,得到的CSC格式矩阵实际上与原始矩阵转置的CSR表示相同。因此,此CSR到CSC转换例程可用于查找CSR格式稀疏矩阵的转置。(同样,它也可用于查找CSC格式稀疏矩阵的转置。)

@RobertCrovella你说得对。。。csc是csr的转置。如果你写一个答案,我会接受的,谢谢@你是对的。。。csc是csr的转置。如果你写一个答案,我会接受的,谢谢!