在内核函数中改变__device__变量的值

z__1991 2015-07-22 12:17:51

__device__ int a;
__global__ fun()
{
a=1;
}

__global__ fun2(int & b)
{
b=2;
}
int main()
{
a=0;
fun<<<(1,1)>>>();
printf("a=%d\n",a);

fun2<<<(1,1)>>>(a);
printf("a=%d\n",a);
return(0);
}


我想在内核函数中改变变量a的值,为什么这2个函数都不行,输出都是0 ?
...全文
115 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

579

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧