利用GPU实现向量数据的相加

    平常的上午,电脑上的程序还没有出结果,就开始自己琢磨CUDA的编程,其实跟人说的时候有些表意不清,有些想说的话感觉总是说不切意,还是写下来比较好。


    今天还是继续进行CUDA的编程时间,主要的目的是利用GPU实现两个数组数据的相加的初级练习: 


代码思想:  1.首先需要利用__global__ 定义一个在GPU里面运行的add()函数

         2.blockidx.d 定义一个一维block   具体参考 http://www.cnblogs.com/viviman/archive/2012/11/28/2792521.html  ,这个等深入的了解GPU结构可以了解清楚

                      3.接下来需要在Host 和Device上分别的开辟相应的数组空间,进行数据的存储;

      4.利用for循环创建数组数据,并通过 cudaMemcpy 复制到Device上,  cudaMemcpy(dev_a, a, N*sizeof(int), cudaMemcpyHostToDevice);    第一个参数是目标,第二个参数是源,第三个参数是总体的数据量大小,第四个参数是复制的步骤指令,将数据从Host(主机)到Device(设备);

                      5.调用add<<<>>>函数进行运算

                      6. 运算完毕,cudaMemcpy(c, dev_c, N*sizeof(i

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值