我有两个CUDA文件,称为A和B。 我需要从A调用一个函数到B中,如下所示...
__device__ int add(int a, int b) //this is a function in A
{
return a+b;
}
__device__ void fun1(int a, int b) //this is a function in B
{
int c = A.add(a,b);
}
我该怎么做?
我可以使用static关键字吗?请给我一个例子。
我有两个CUDA文件,称为A和B。 我需要从A调用一个函数到B中,如下所示...
__device__ int add(int a, int b) //this is a function in A
{
return a+b;
}
__device__ void fun1(int a, int b) //this is a function in B
{
int c = A.add(a,b);
}
我该怎么做?
我可以使用static关键字吗?请给我一个例子。
// Both functions in func.cuh
#pragma once
__device__ inline int add(int a, int b)
{
return a+b;
}
__device__ inline void fun1(int a, int b)
{
int c = add(a,b);
}
需要将该头文件包含到每个需要使用函数的.cu文件中。CUDA构建链似乎支持inline
关键字,这种声明不会在我使用的任何CUDA平台上生成重复符号(不包括Windows)。我不确定它是否打算起作用,所以请注意。