cuSPARSE库:(六)cusparseMatrixType_t的说明

cusparseMatrixType_t:

矩阵的格式有以下几类:

CUSPARSE_MATRIX_TYPE_GENERAL        普通矩阵
CUSPARSE_MATRIX_TYPE_SYMMETRIC    对称矩阵
CUSPARSE_MATRIX_TYPE_HERMITIAN     埃尔米特矩阵
CUSPARSE_MATRIX_TYPE_TRIANGULAR  三角矩阵

此类型指示存储在稀疏存储中的矩阵的类型。注意,对于对称矩阵、厄米矩阵和三角矩阵,假设只存储它们的上下部分。

矩阵类型(MatrixType)和填充模式的基本思想是保持对称/厄米矩阵的最小存储量,并利用SpMV(Sparse Matrix Vector multiplication)的对称性。

当矩阵A是对称矩阵并且只存储下三角部分时,求解y=A*x需要两步:①求解y=(L+D)*x;②求解y=L^T*x + y。鉴于计算y=L^T*x 比计算y=L*x慢十倍,所以对称属性不会显示任何性能增加。因此,我们最好将对称矩阵推广成普通格式的矩阵并求直接求解y=A*x,此时矩阵的格式为CUSPARSE_MATRIX_TYPE_GENERAL。

一般而言,SpMV、预条件算子(如不完全Cholesky 分解或者不完全LU分解)以及三角矩阵求解都是通过迭代算法(如PCG和GMRES)计算的。如果总是使用普通格式的矩阵(而非对称格式),那么预条件算子中无需支持除普通格式之外的矩阵格式。因此,在新的程序中,[bsr|csr]sv2 (triangular solver)、 [bsr|csr]ilu02 (incomplete LU) 和[bsr|csr]ic02 (incomplete Cholesky)仅支持的矩阵格式为CUSPARSE_MATRIX_TYPE_GENERAL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值