将所有CUDA函数更改为__host__ __device__

时间:2013-04-23 06:04:17

标签: c++ c cuda

我想在CUDA中使用一个存在的函数,但它包含许多类和其他函数。 在每个函数之前添加__host__ __device__是微不足道的。那么,有没有一种自动方法来做到这一点?或者如何让nvcc将所有函数编译为__device__ __host__

1 个答案:

答案 0 :(得分:1)

基本上,GPU编程都是关于大规模并行性的。这是一种完全不同于普通单线程编程的范例。 除非您只是想将这些函数同时应用于大型数组的各个元素,否则将其编码到GPU中没有任何好处。 实际上,GPU核心时钟比处理器慢得多。 如果您将主要针对单个线程风格的CPU编写的函数编译到GPU,您将获得潜在的性能损失。 您需要将您的问题重新考虑到GPU范例中。