GPU编程之CUDA初学名词解释
来源:互联网 发布:家用脱毛仪 知乎 编辑:程序博客网 时间:2024/05/17 23:43
1.主机与主机代码
将CPU及系统的内存(内存条)称为主机。主机代码在CPU上运行,CPU代码用来管理设备端的环境、代码和数 据。
2.设备与设备代码
GPU及其内存(设备内存)称为设备,设备代码在GPU上运行,主要用来提高并行数据集的执行速度,是硬件的 加速器。
3.线程(thread)
线程是 GPU 运算中的最小执行单元,线程能够完成一个最小的逻辑意义操作。
4. 线程束(warp)
线程束是 GPU 中的基本执行单元。GPU 是一组 SIMD 处理器的集合,因此每个线程束中的线程是同时执行的。这个概念是为了隐藏对显存进行读写带来的延迟所引入的。一个 SM 中的所有 SP 在物理上分成 warp 的,共享同一个 memory 和 instruction unit。warp 是 GPU 执行程序时的调度单位,目前 CUDA 的 warp 的大小为 32,这个 warp 中的 32 个 threads(SP) 是一起工作的,执行相同的指令。也就是当进行并行计算时,线程数尽量为 32 的倍数,如果线程数不是 32 的倍数,假如是 1,则 Warp 会生成一个掩码,当一个指令控制器对一个 Warp 单位的线程发送指令时,32 个线程中只有一个线程在真正执行,其他 31 个进程会进入静默状态。
5. 线程块(block)
一个线程块包含多个线程束,在一个线程块内的所有线程,都可以使用共享内存来进行通信、同步。但一个线程块能拥有的最大线程/线程束,和显卡型号有关。
6. 线程网格(grid)
多个线程块被组织成一维、二维或三维的线程网格,一个网格内的线程块数往往由被处理的数据量而不是系统的 处理器数决定,前者往往远超后者。
7. 流多处理器(SM)
多个 SP 加上其他的一些资源组成一个 SM,GPU 硬件的并行性就是由 SM 决定的。流多处理器就相当于 CPU 中的核,负责线程束的执行。同一时刻只能有一个线程束执行。
8. 流处理器(SP)
最基本的处理单元, 最后具体的指令和任务都是在 SP 上处理的。GPU 进行并行计算,也就是很多个 SP 同时做处理。SP 也可以称为 CUDA Core 或者 thread,一个 SP 对应一个 thread。
- GPU编程之CUDA初学名词解释
- GPU-cuda编程葵花宝典
- 【GPU编程系列之二】CUDA编程基础
- Ubuntu12.04 之 CUDA 编程 (二) ~~~ GPU 程序加速
- GPU编程之CUDA(一)——入门知识
- GPU编程之CUDA(二)——配置方法
- GPU之cuda+cudnn+tensorflow-gpu
- GPU之CUDA 第一弹
- 《CUDA并行程序设计:GPU编程指南》
- 《GPU高性能编程cuda实战》读书笔记
- 《GPU高性能编程CUDA实战》
- CUDA GPU编程如何避免Bank conflict
- GPU编程—cuda并行机制
- 《CUDA并行程序设计:GPU编程指南》
- GPU-CUDA编程实践(一)
- CUDA编程-GPU架构软硬件体系
- GPU高性能编程CUDA实战-代码
- CUDA下的GPU编程入门--第一个CUDA程序
- Java中带构造器时的执行顺
- Dubbo框架初探
- 打工最不该有的4种思维,往往做老板后才明白
- Git init与Git --base init区别
- BZOJ4727: [POI2017]Turysta
- GPU编程之CUDA初学名词解释
- 一分钟了解负载均衡的一切
- <深度学习系列>深度学习中激活函数的选择
- 文章标题
- springboot包设置的问题
- 【转】ArrayList原理
- SQL经典面试题目总结
- keytool不是内部或外部命令,也不是可运行的程序或批处理文件
- 一次通过漏洞挖掘成功渗透某网站的过程