OpenACC - 稀疏矩阵库

OpenACC - Sparse Matrix Library

本文关键字:OpenACC      更新时间:2023-10-16

我在C++中使用OpenACC进行稀疏矩阵计算。我需要在 OpenACC 区域中使用矩阵操作。

是否有任何与OpenACC兼容的稀疏矩阵库?

我已经习惯了 Eigen,但除非我手动修改源代码,否则它似乎与 OpenACC 不兼容,这听起来不是一个好主意......

如果你的目标是 NVIDIA GPU,PGI 的 OpenACC 实现可以与 cuSparse 互操作,这意味着你可以在对库的调用和 OpenACC 代码之间共享数据。假设您使用的是PGI,则可以在$PGI/linux86-64/2016/examples/CUDA-Libraries/cuSPARSE/中找到示例。 请注意,cuSPARSE 没有设备端例程,必须从主机调用。 但是,OpenACC 托管设备数据可以通过"host_data"指令传递给 cuSPARSE 例程。

cuBLAS 确实具有可在 OpenACC 计算区域中使用的设备例程。 当然,这些不是针对稀疏矩阵操作进行的。