CUDA高性能并行计算学习笔记1----认识CUDA

CUDA C基础

CUDA C是对C/C++语言进行拓展后形成的变种,兼容C/C++语法,文件类型为”.cu”文件,编译器为”nvcc”,相比传统的C/C++,主要添加了以下几个方面:

  • 函数类型限定符
  • 执行配置运算符
  • 五个内置变量
  • 变量类型限定符
  • 其他的还有数学函数、原子函数、纹理读取、绑定函数等

函数类型限定符

用来确定某个函数是在CPU还是GPU上运行,以及这个函数是从CPU调用还是从GPU调用:

  • device表示从GPU调用,在GPU上执行
  • global表示从CPU调用,在GPU上执行,也称之为kernel函数
  • host表示在CPU上调用,在CPU上执行

执行配置运算符

  • 执行配置运算符 <<< >>> . 用来传递内核函数的执行参数
  • kernel<<<gridDim, blockDim, memSize, stream>>>(para1, para2, ...);

五个内置变量

这些内置变量用来在运行时获得Grid和Block的尺寸及线程索引等信息

  • gridDim: 包含三个元素x, y, z的结构体,表示Grid在三个方向上的尺寸,对应于执行配置中的第一个参数
  • blockDim: 包含上元素x, y, z的结构体,表示Block在三个方向上的尺寸,对应于执行配置中的第二个参数
  • blockIdx: 包含三个元素x, y, z的结构体,分别表示当前线程所在块在网格中x, y, z方向上的索引
  • threadIdx: 包含三个元素x, y, z的结构体,分别表示当前线程在其所在块中x, y, z方向上的索引
  • warpSize: 表明warp的尺寸

变量类型限定符

用来确定某个变量在设备上的内存位置

  • device表示位于全局内存空间,默认类型
  • share表示位于共享内存空间
  • constant表示位于常量内存空间
  • texture表示其绑定的变量可以被纹理缓存加速访问

转载链接

CUDA编程入门笔记1
《GPU高性能编程 CUDA实战》(CUDA By Example)读书笔记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值