【发布时间】:2013-07-09 15:13:32
【问题描述】:
我需要计算以下矩阵数学:
D * A
其中 D 是密集的,A 是稀疏的,采用 CSC 格式。
cuSPARSE 允许乘以稀疏 * 密集,其中稀疏矩阵采用 CSR 格式。
在一个相关问题之后,我可以简单地通过转置 A 将 CSC“转换”为 CSR。
我还可以计算 (A^T * D^T)^T,因为我可以处理转置结果。
在这种方法中,我还可以避免“转置”A,因为 CSR^T 是 CSC。
唯一的问题是 cuSPARSE 在这个操作中不支持转置 D,所以我必须事先转置它,或者将它转换为 CSR,这完全是浪费,因为它是 非常 密集的。
有什么解决方法吗?
谢谢。
【问题讨论】:
-
可能您已经知道这一点,但您可以使用geam 函数转置cublas 中的密集矩阵。
-
这是一个独立的操作,还是您在
A' * D * A的行中做某事? -
运算是 X - D * A 其中 X & D 非常密集,A 非常稀疏
标签: cuda sparse-matrix