向Kernel函数传递thrust vector的方法

adagio_chen 2014-07-25 09:41:36
加精
废话不说,直接上代码



__global__
void Kernel(int* dv)
{
int i = threadIdx.x;
dv[i] = i;
}

int main()
{
thrust::device_vector<int> dv(10);

Kernel<<<1,10>>>(thrust::raw_pointer_cast(&dv[0]));


thrust::host_vector<int> hv = dv;

for (int i=0; i<10; ++i)
{
printf("%d\n", hv[i]);
}

return 0;
}



运行结果:

0
1
2
3
4
5
6
7
8
9

...全文
1148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xusir98 2014-07-28
  • 打赏
  • 举报
回复
学习
cattpon 2014-07-27
  • 打赏
  • 举报
回复
很不错的方法~
watsonsong 2014-07-26
  • 打赏
  • 举报
回复
学习一下新技术

579

社区成员

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

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