作业帮 > 综合 > 作业

CUDA并行计算 #include __global__ void add(int x,int y,int *z){\x

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/03/28 17:39:15
CUDA并行计算
#include
__global__ void add(int x,int y,int *z){
\x05*z=x+y;
}
int main(void){
\x05int c;
\x05int *dev_c;
cudaMalloc( (void**)&dev_c,sizeof(int) );
\x05 add(2,7,dev_c);
\x05 cudaMemcpy(&c,dev_c,sizeof(int),cudaMemcpyDeviceToHost);
\x05 printf("2+7=%d\n",c);
\x05 cudaFree(dev_c);
\x05 return 0;
}
//这段程序为何运行出来结果为2+7=0?求指教
CUDA并行计算 #include __global__ void add(int x,int y,int *z){\x
可能是环境配置的问题,cuda运行环境需要配置各种各样的参数什么的,不建议你自己配,cuda的sdk里面有很多例子,源码和vs工程文件都有,里面的环境都是配好的.
建议你先导入一个简单的例子,在你的机器上跑一遍看看有没有问题,如果没有问题再改成你的程序,一般情况下sdk的例子能正确执行的话,改成你这个简单的例子应该是不会有问题的.
推荐你可以先把sdk里面的DeviceQuary跑一遍,那个程序是检查你的gpu设备的.