2
我需要计算以下矩阵运算:
D * A
其中D是稠密的,A是稀疏的,采用CSC格式。
cuSPARSE允许乘以稀疏*密集,其中稀疏矩阵采用CSR格式。
以下相关的问题,我可以简单地通过转置A“转换”CSC到CSR。
另外,我可以计算(A^T * D^T)^ T,因为我可以处理得到转置的结果。
在这种方法中,我也可以避免“转置”A,因为CSR^T是CSC。
唯一的问题是cuSPARSE不支持在此操作中转置D,所以我必须事先转移它,或将其转换为CSR,这是一种浪费,因为它是非常密集的。
有什么解决方法吗?
谢谢。cuSPARSE密集时间稀疏
可能您已经知道这一点,但您可以使用[geam](http://docs.nvidia.com/cuda/cublas/index.html#topic_9_1)函数在cublas中转置一个致密矩阵。 –
这是一个独立的操作,还是你正在做'A'* D * A'? –
该操作是X - D * A 其中X和D非常密集,A非常稀疏 – MrDor