我需要一个在CUDA上执行操作y = y + s*A*x
的函数。
其中y
是复数向量(例如cuDoubleComplex
),x
是双向量,A
是双稀疏矩阵(csr格式),s
是复杂的标量。
问题:是否有任何库可以执行该操作?
我想跳过将一切变为复杂的事情,除非你让我相信它可以有效地完成。
P.S。
不幸的是,它不能通过cusparse函数cusparseCsrmvEx()
答案 0 :(得分:1)
是否有任何库可以执行该操作?
几乎肯定不是。您需要做的类型促销几乎可以规定。你可以做的是:
cusparseDcsrmv
产生z0 = A * x Zaxpy
计算y = y + s * z1 更好的做法是将自定义内核编写到一起融合(2)和(3)。你的选择。