按照关于 C++ 集成的 CUDA 示例中的示例代码,我正在编写在文件中调用 CUDA 代码的包装函数.cu
。
在该文件中,我有一个初始化 CUDA 上下文并分配全局内存并将一些数据放入常量内存的函数。
extern "C" void initEngine(int *d_data, int *d_coefA, int *d_coefB)
{
//Allocations
//Copy to constant memory
}
现在我想做的是重载该initEngine
函数以接收更多参数,但我认为没有办法重载该函数,因为它具有C 链接,对吗?
extern "C" void initEngine(int *d_data, int *d_coefA, int *d_coefB, int *d_coefC,
int *d_random)
{
//Allocations
//Copy to constant memory
}
你能给我一些建议,让我只有一个initEngine
功能吗?或者是不可能的,我必须有 2 个函数,或者可能只有一个带有所有参数的函数,并且只传递 NULL 引用或类似的东西。