0
我在C++中使用OpenACC進行稀疏矩陣計算。 我需要在OpenACC區域內使用矩陣運算。OpenACC - 稀疏矩陣庫
是否有與OpenACC兼容的稀疏矩陣庫?
我已經習慣了徵,但它似乎是不兼容OpenACC的,除非我手動修改源代碼,這聽起來不是個好主意......
我在C++中使用OpenACC進行稀疏矩陣計算。 我需要在OpenACC區域內使用矩陣運算。OpenACC - 稀疏矩陣庫
是否有與OpenACC兼容的稀疏矩陣庫?
我已經習慣了徵,但它似乎是不兼容OpenACC的,除非我手動修改源代碼,這聽起來不是個好主意......
如果您指定了NVIDIA GPU,PGI的OpenACC實現與cuSparse可互操作,這意味着您可以在庫和OpenACC代碼之間共享數據。假設您使用PGI,可以在$ PGI/linux86-64/2016/examples/CUDA-Libraries/cuSPARSE /中找到示例。請注意,cuSPARSE沒有設備端例程,必須從主機調用。但是,OpenACC管理的設備數據可以通過「host_data」指令傳遞給cuSPARSE例程。
cuBLAS確實具有可在OpenACC計算區域內使用的設備例程。當然,這些不是針對稀疏矩陣操作進行調整的。
您需要更多地解釋一下「兼容」的含義,如果您嘗試在OpenACC計算區域內使用庫,如果庫本身已經使用OpenACC加速,或者您只是想要在OpenACC代碼和庫之間共享數據。例如,如果您的目標是NVIDIA GPU,則OpenACC可以與cuSparse進行互操作,這意味着您可以在調用庫和OpenACC代碼之間共享數據。假設您正在使用PGI,可以在$ PGI/linux86-64/2016/examples/CUDA-Libraries/cuSPARSE/ –
中找到示例感謝您的評論!是的,我想在OpenAcc地區使用該庫(我編輯了我的答案以指出這一點)。似乎做了cuSPARSE的工作,謝謝!你可以把它作爲答案,我會接受它。 –