MileKing 2013-07-14 07:27
浏览 3006

cuda cudaMemcpy 报错 unkown error

我是一个cuda新手,现在在测试一个程序,它报的错误是 unkown error ,是从最后的cudaMemcpy报出来的,求高人指教,我不知道是错在哪里了,在此谢过

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include
#include
#define N (128*128*2)

global void times(int *div_c)
{
int tmp = threadIdx.x+ blockIdx.x*blockDim.x;
while(tmp<N)
{
div_c[tmp]=tmp;
tmp+=blockIdx.x*gridDim.x;
}
}

int main(void)
{
int c[N];
int i;
clock_t t;
int *div_c;
cudaError_t error;

for(i=0;i<N;++i)
{
    c[i]=0;
    if(c[i]!=0)
    {
        printf("error4");
    }
}
printf("start\n");
t=clock();
error=cudaMalloc((void **)&div_c,sizeof(int)*N);
if(error!=cudaSuccess)
{
    printf("error1");
    getchar();
    return 1;
}
error = cudaMemcpy(div_c,c,sizeof(int)*N,cudaMemcpyHostToDevice);
if(error!=cudaSuccess)
{
    printf("error2");
    getchar();
    return 1;
}
times<<<128,128>>>(div_c);

error = cudaMemcpy(c,div_c,sizeof(int)*N,cudaMemcpyDeviceToHost);
if(error!=cudaSuccess)
{
    printf("%s\n",cudaGetErrorString(error));
    getchar();
    return 1;
}
t= clock()-t;
printf("%d\n",t);
getchar();
printf("%d\n",c[0]);
getchar();
for(i=0;i<N-1;++i)
{

        printf("%d  %d \n",c[i],c[i+1]);
}
getchar();
return 0;
cudaFree(div_c);

}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥50 易语言把MYSQL数据库中的数据添加至组合框
    • ¥20 求数据集和代码#有偿答复
    • ¥15 关于下拉菜单选项关联的问题
    • ¥20 java-OJ-健康体检
    • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
    • ¥15 使用phpstudy在云服务器上搭建个人网站
    • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
    • ¥15 vue3+express部署到nginx
    • ¥20 搭建pt1000三线制高精度测温电路
    • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况