CUDA编程学习笔记

重要概念

在CUDA中,hostdevice是两个重要概念,用host指代CPU及其内存,用device指代GPU及其内存。

  • 典型CUDA程序的执行流程如下:
    1.分配host内存,并进行数据初始化;
    2.分配device内存,并从host将数据copy到device上;
    3.调用CUDA的核函数在device上完成指定的运算;
    4.将device上的运算结果copy到host上;

    上面流程中最重要的部分是调用CUDA的核函数来执行并行计算,kernel(http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#kernels)是CUDA中一个重要的概念,kernel是在device上线程中并行执行的函数,核函数用__global__符号声明,在调用时需要用<<<grid, block>>>来指定kernel要执行的线程数量,在CUDA中,每一个线程都要执行核函数,并且每个线程会分配一个唯一的线程号thread ID,这个ID值可以通过核函数的内置变量threadIdx来获得。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值