如何在 PyCUDA 中使用基本的稀疏矩阵运算(乘法等)

计算科学 Python 矩阵 并行计算 稀疏矩阵 显卡
2021-12-20 05:34:21

我尝试在 Python 的 GPU 中使用稀疏矩阵运算,现在尝试将 PyCUDA 与 theano 一起使用。但我找不到如何进行稀疏矩阵和向量乘法。我只有一个例子说明如何解决Ax=b使用图书馆文档中的 CG。是否有任何文档或示例详细说明如何进行一些基本的稀疏矩阵运算?

顺便问一下,是否有另一个 python 库可以在 GPU 中进行稀疏矩阵运算?

2个回答

PyCUDA 中的这个示例演示了如何进行稀疏矩阵向量乘法。

我认为使用 CUDA 进行稀疏矩阵运算最常用的库是cuSPARSE,它已经包含在 CUDA 工具包中并支持所有常见的稀疏矩阵格式。这里有一个 Python 包装

总体而言,Python/CUDA 生态系统似乎仍然异常分裂,对于许多常见任务没有明显的选择。也就是说,我的大部分 Python/CUDA 经验来自使用 PyCUDA 编写自定义内核,它运行良好。