将CPU库转换为CUDA

时间:2015-12-07 05:22:47

标签: c++ cuda

我有一个我正在使用的CPU库(ICA独立组件分析)。我需要将我的项目转换为CUDA,但我似乎没有为CUDA找到一个库。是否可以轻松转换库并在CUDA中使用它,还是我必须自己重写库?

感谢。

2 个答案:

答案 0 :(得分:1)

我建议调查OpenACC。如果您的代码具有足够的GPU友好性(存储顺序,高并行任务粒度),您应该能够非常快速地进行转换。如果您已经拥有OpenMP指令,那么基本上可以在那里添加OpenACC内核指令,对其进行测试,然后对数据移动进行分析,并且可能需要手动指定GPU数据区域以避免过多的复制操作。

答案 1 :(得分:1)

您必须修改该库。这可能很容易,也可能不会。 (我不知道,因为我不知道那个图书馆里有什么。)

NVIDIA提供OpenACC编译器here

有许多库可以使用CUDA在GPU上执行计算:https://developer.nvidia.com/gpu-accelerated-libraries

我建议使用Thrust,因为它与CUDA SDK捆绑在一起。