使用cuda中的cpu函数
Use cpu function in cuda
我想在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和InlineCpu Function.cpp
--CudaKernel.cuh和CudaKernel.cu(这一个包括上面的头,并在CUDA内核中使用它的函数)
如果你需要更多的解释(因为这可能看起来很困惑),请问我。
您可以用__host__ __device__
装饰器标记您想在设备和主机上使用的函数,这样它就可以为您的cpu和gpu编译了。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 编写一个函数以使用 n 百分比的 CPU 使用率
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 是否有一个C++函数可以准确返回平方根反比的内置 CPU 操作 RSQRTSS 的值?
- 最有cpu效率的方法是使用std::算法和变量函数模板的参数
- 时间短函数与 CPU 时间使用 RTEMS 操作系统
- 使用cuda中的cpu函数
- 在现代CPU中,虚拟成员函数对局部性是好是坏
- 在c++中做实验时,测量某些函数的cpu时间的最佳方法是什么?
- 编写一个CUDA内核来替换一个等效的cpu函数
- 如何在c++中计算函数的执行时间和cpu消耗
- 我如何测量我的函数的时间,只有我的函数在使用CPU
- CPU 内置 OpenGL 函数