OpenACC - 稀疏矩阵库

时间:2017-04-13 16:36:22

标签: c++ sparse-matrix eigen openacc

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

是否存在与OpenACC兼容的稀疏矩阵库?

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

1 个答案:

答案 0 :(得分:1)

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

cuBLAS确实有可以在OpenACC计算区域内使用的设备例程。当然,这些都没有针对稀疏矩阵运算进行调整。