NVIDIA CUDA 12.3 CSR 格式稀疏线性代数缺少函数

问题描述 投票:0回答:1

有谁知道为什么 CUDA 版本 12 的 cuSPARSE 文档引用了

cusparseDcsrsv2_analysis
cusparseDcsrsv2_solve
,但这些函数在其实际的
cusparse.h
库中找不到?

他们的CUDA版本10确实有

cusparse.h
中的功能。似乎
CSR
SV
(因此称为“csrsv”)的所有类型和函数都在版本 12 中消失了。

我已经向 NVIDIA 提交了一张票,但我想知道解决方法。 cuSPARSE 中的 CSR 格式矩阵到向量乘法函数是否有等效函数?

c++ cuda nvcc
1个回答
0
投票

cuSparse 有一个新的通用 API,包括

cusparseSpSV()
cusparseSpMV()
(OP 提到“矩阵到向量乘法”,即“mv”,而不是“sv”)。通用意味着有一个包装器
cusparseSpMatDescr_t
可以描述许多不同的稀疏矩阵格式,包括 CSR。这样,像
cusparseSpSV
这样的函数的名称/接口就独立于稀疏格式,这使得在自己编写通用 API 时更容易在 cuSparse API 上构建。

事实上,文档中仍然提到了

cusparseDcsrsv2_analysis()
(在示例here中找到它)似乎是 Nvidia 方面的疏忽,OP 正确地报告了这一点。

请参阅库组织和功能,了解通用 API 的高级描述。另请注意这些功能如何在 CUDA 11 中标记为“已弃用”,因此它们在 CUDA 12 中的消失并不令人意外。

© www.soinside.com 2019 - 2024. All rights reserved.