c++ - 在 GPU 上调用函数时可以避免使用 __device__ 限定符吗?

标签 c++ c cuda

<分区>

将在 GPU 上运行的函数需要限定符 __device__。我目前正在编写一组通用的数学函数,可以在 GPU 和 CPU 上使用。我认为将所有这些函数限定为 __device__ 并不是很好,因为它们也可能包含在其他根本不存在 CUDA 的程序中。有没有办法省略 __device__

最佳答案

在为非 CUDA 目标构建时,您可以只使用 -D__device__="" 进行编译,或者使用可以定义为 __device__ 的更通用的宏> 为 CUDA 编译时。

关于c++ - 在 GPU 上调用函数时可以避免使用 __device__ 限定符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198631/

相关文章:

c++ - boost asio udp async_read_from buffersize

c++ - 灵气 : Error when replacing sequence with expectation operator

c++ - CUDA:错误:创建 thrust::device_ptr 时出现 "transfer of control bypasses initialization of"

当我尝试将指针数组复制到设备时出现 cudaMalloc 错误

C++ 快速排序算法崩溃

c++ - 如何将图像保存在调整大小的 QLabel 中?

c - 通过展开继承是否违反严格的别名规则?

c - SDL_WINDOWEVENT_ROTATE 结构

c - WinAPI中如何让两个线程共享一个全局变量?

c - 将指针向下传递给三个嵌套函数