我正在使用 CUDA 运行 CentOS 版本 5.9(最终版),拥有一张主要版本 1 和次要版本 3 的 Tesla 卡。以下是我的内核代码:
__global__ void foo(int* pos, int t)
{
int index = blockDim.x * blockIdx.x + threadIdx.x;
t = pos [index + 1] - pos [index];
char* temp = (char*)malloc(t);
}
我想t
动态分配字节。
这给了我错误:
不允许从 __device__/__global__ 函数(“foo”)调用主机函数(“malloc”)。
我能做些什么来解决这个问题?