我有一个我正在使用的CPU库(ICA独立组件分析)。我需要将我的项目转换为CUDA,但我似乎没有为CUDA找到一个库。是否可以轻松转换库并在CUDA中使用它,还是我必须自己重写库?
感谢。
答案 0 :(得分:1)
我建议调查OpenACC。如果您的代码具有足够的GPU友好性(存储顺序,高并行任务粒度),您应该能够非常快速地进行转换。如果您已经拥有OpenMP指令,那么基本上可以在那里添加OpenACC内核指令,对其进行测试,然后对数据移动进行分析,并且可能需要手动指定GPU数据区域以避免过多的复制操作。
答案 1 :(得分:1)
您必须修改该库。这可能很容易,也可能不会。 (我不知道,因为我不知道那个图书馆里有什么。)
NVIDIA提供OpenACC编译器here。
有许多库可以使用CUDA在GPU上执行计算:https://developer.nvidia.com/gpu-accelerated-libraries
我建议使用Thrust,因为它与CUDA SDK捆绑在一起。