CUDA并行计算 #include __global__ void add(int x,int y,int *z){\x
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/01 03:31:41
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?求指教
#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运行环境需要配置各种各样的参数什么的,不建议你自己配,cuda的sdk里面有很多例子,源码和vs工程文件都有,里面的环境都是配好的.
建议你先导入一个简单的例子,在你的机器上跑一遍看看有没有问题,如果没有问题再改成你的程序,一般情况下sdk的例子能正确执行的话,改成你这个简单的例子应该是不会有问题的.
推荐你可以先把sdk里面的DeviceQuary跑一遍,那个程序是检查你的gpu设备的.
建议你先导入一个简单的例子,在你的机器上跑一遍看看有没有问题,如果没有问题再改成你的程序,一般情况下sdk的例子能正确执行的话,改成你这个简单的例子应该是不会有问题的.
推荐你可以先把sdk里面的DeviceQuary跑一遍,那个程序是检查你的gpu设备的.
以下程序的输出结果是 #include void prt (int *x,int*y,int*z){ printf("%
#include void fun (int,int); void main (void) { int i,j,x,y,
# include void p(int *x,int y){ ++*x; y=y+2; } void main() {
#include #include int main(void) { float a,b,c,x,y,z; printf
void fun(int *x,int y)
谁来帮我找找错啊int max(int a,int b);void main(){int x,y,z;int max(i
#include int main() { int max; int x,y,z; if x>y printf("max
#include void main () { int x,y,z,a,b,c,d,g,f; scanf("%d+%d"
#include void f(int*x,int y) {*x=y+1;y=*x+2;} main() {int a=
关于c++的问题,#include void gotoxy(int x,int y){COORD pos = {x,y}
递归函数计算x^n#include double fun(int n,double x);int main(void){
求水仙花数#include#includemain(){int x,y;int n,z,m;int temp,index