cuda一些函数中仅支持csr格式,而matlab中的稀疏矩阵是csc格式,直接打印 按列的coo格式(或者find函数输出)。将matlab sparse数据进行cuda稀疏函数计算时,之前利用GPU的做法是将COO格式转为CSR格式,中间还要进行多次排序。一套下来代码100多行。。。

利用cusparseCsr2cscEx2()函数实现CSR与CSC格式相互转化。

现有三种方法比较:cuda运算有host与gpu数据copy时间。

Matlab dense矩阵与sparse矩阵转csr格式比较:

dense矩阵用时1.2668秒,sparse矩阵0.005秒(同样的数据cuda用时与上面还不一样(0.0148秒))。。。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删