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 print

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 14:04:42
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 print
xSkOV+V&ZqL.#a}هJ۷J- J!\)t0)Q&$ $@|O {m@ $y'>ak|vb=BM$Sh,P"&SD!Ir,5E[}zfy6{f"SG[ &V\՟G'∘w(Hnx!:)B: Qv?;u|LTEԷLW!',޾u_!jsK?3LW;ت)n8%]oҲtbo*0M86e^[mbm]3:?دȇY)0kWy4^4\wb\4Fw7N^7*pS^ުNl4]~2!D3x'%|Y‡[e[I{؝ſLfi ^;']X]ﱱC[\3(^(9^魼zk4i=$\CؤƛullŨ@=-,M^3RZs9_dn/2~w`5ґּܦ=`uY9AP|R`lҜxCtp`aٔ99ȓ3GL˙K|X!v m^sۋW(9<G3lZ9!=R1OH~4tsEQD\lVaCqU̐T)7$&*"f &$$%(e<^Q|| !/'ЏZEeQ:&g#@qlB` \Hqd".u'!NĢ(Bho\T&-ދߘe'Ae2j,a@0B< <y/⸐8 .Ņ ; *D#ȅB~]ڿ

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 print
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){\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 print
可能是环境配置的问题,cuda运行环境需要配置各种各样的参数什么的,不建议你自己配,cuda的sdk里面有很多例子,源码和vs工程文件都有,里面的环境都是配好的.
建议你先导入一个简单的例子,在你的机器上跑一遍看看有没有问题,如果没有问题再改成你的程序,一般情况下sdk的例子能正确执行的话,改成你这个简单的例子应该是不会有问题的.
推荐你可以先把sdk里面的DeviceQuary跑一遍,那个程序是检查你的gpu设备的.

我用你的程序测试了,一点问题也没有2+7=9。估计你参数配置的问题,在模拟状态下?