void func(){
float *h_input, *d_input;
h_input = (float *)malloc(10 * sizeof(float));
for (int w=0; w<10; w++)h_input[w]= (float)w;
cudaMalloc((void **)&d_input, 10 * sizeof(float));
cudaMemcpy(d_input, h_input, 10 * sizeof(float), cudaMemcpyHostToDevice);
for(int i =0;i<10 ; i++)printf("%.3f -- %.3f \n",h_input[i],d_input[i]);
}
如上一段非常简单的代码,放在一个cuda的工程里面直接使用,打印结果是两者的,两个都一样,
但是如果我希望在另一个工程(非cuda工程)里面调用这个cuda工程(作为lib)的函数,结果发现,编译通过,但是运行的时候,结果是不一样的。
请大家帮忙一下,非常感谢,这个问题有点儿奇怪。。