gpt4 book ai didi

c++ - 在cuda中使用cpu函数

转载 作者:行者123 更新时间:2023-11-30 02:53:05 25 4
gpt4 key购买 nike

我想在 CUDA 内核中包含一个 C++ 函数,但这个函数是为 CPU 编写的,如下所示:

inline float random(int rangeMin,int rangeMax){
return rand(rangeMin,rangeMax);
}

假设 rand() 函数使用 curand.h 或 Thrust cuda 库。

我想使用一个内核函数(只有一个 GPU 线程)将这个函数作为内联函数包含在内,因此 cuda 编译器将为 GPU 生成二进制文件。

这可能吗?如果是这样,我想在 CUDA 内核函数中包含另一个为 cpu 编写的内联函数。

像这样:

-- InlineCpuFunction.h 和 InlineCpuFunction.cpp

-- CudaKernel.cuh 和 CudaKernel.cu(这个包括上面的头文件并在 CUDA 内核中使用它的函数)

如果您需要更多解释(因为这可能看起来令人困惑)请问我。

最佳答案

您可以使用 __host__ __device__ 装饰器标记您想要在设备和主机上使用的功能,这样它就可以为您的 cpu 和 gpu 编译。

关于c++ - 在cuda中使用cpu函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com