【CUDA学习】GPU硬件结构
2015-05-16 19:35
274 查看
GPU的硬件结构,也不是具体的硬件结构,就是与CUDA相关的几个概念:thread,block,grid,warp,sp,sm。 sp: 最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时做处理 sm:多个sp加上其他的一些资源组成一个sm, streaming multiprocessor. 其他资源也就是存储资源,共享内存,寄储器等。 warp:GPU执行程序时的调度单位,目前cuda的warp的大小为32,同在一个warp的线程,以不同数据资源执行相同的指令。 grid、block、thread:在利用cuda进行编程时,一个grid分为多个block,而一个block分为多个thread.其中任务划分到是否影响最后的执行效果。划分的依据是任务特性和 GPU本身的硬件特性。 下面几张硬件结构简图 便于理解(图片来源于网上)
以上两图可以清晰地表示出sm与sp的关系。
此图反应了warp作为调度单位的作用,每次GPU调度一个warp里的32个线程执行同一条指令,其中各个线程对应的数据资源不同。
上图是一个warp排程的例子。 一个sm只会执行一个block里的warp,当该block里warp执行完才会执行其他block里的warp。 进行划分时,最好保证每个block里的warp比较合理,那样可以一个sm可以交替执行里面的warp,从而提高效率,此外,在分配block时,要根据GPU的sm个数,分配出合理的 block数,让GPU的sm都利用起来,提利用率。分配时,也要考虑到同一个线程block的资源问题,不要出现对应的资源不够。
以上两图可以清晰地表示出sm与sp的关系。
此图反应了warp作为调度单位的作用,每次GPU调度一个warp里的32个线程执行同一条指令,其中各个线程对应的数据资源不同。
上图是一个warp排程的例子。 一个sm只会执行一个block里的warp,当该block里warp执行完才会执行其他block里的warp。 进行划分时,最好保证每个block里的warp比较合理,那样可以一个sm可以交替执行里面的warp,从而提高效率,此外,在分配block时,要根据GPU的sm个数,分配出合理的 block数,让GPU的sm都利用起来,提利用率。分配时,也要考虑到同一个线程block的资源问题,不要出现对应的资源不够。
相关文章推荐
- 【CUDA学习】GPU硬件结构
- GPU硬件结构--CUDA
- 高校科研单位全能超算平台(结构流体电磁仿真/分子动力模拟/多GPU深度学习)最新硬件配置方案
- CUDA系列学习(三)GPU设计与结构QA & coding练习
- CUDA系列学习(三)GPU设计与结构QA & coding练习
- CUDA系列学习(三)GPU设计与结构QA & coding练习
- CUDA系列学习(三)GPU设计与结构QA & coding练习
- STM32学习第五天---看了CT117E比赛版的硬件结构
- CUDA系列学习(一)An Introduction to GPU and CUDA
- CUDA学习笔记(7) GPU内存分级
- GPU的硬件结构
- Mohican_2/4 链接,装载与库 学习笔记— 温故而知新 计算机硬件基本结构
- 配置深度学习GPU加速(Cuda以及Cudnn安装,win10操作系统下)
- 深度学习环境搭建之CentOS 7+NVIDIA GPU+CUDA8.0+CUDNN6.0+TensorFlow
- CUDA: GPU的硬件架构
- [转]GPU硬件结构
- 深度学习硬件对比评测:英特尔FPGA和英伟达GPU哪个更好?
- CUDA系列学习(六) 从并行排序方法理解并行化思维——冒泡、归并、双调排序的GPU实现
- 深度学习GPU计算工具CUDA安装
- [架构设计] CUDA系列学习(五)GPU基础算法: Reduce, Scan, Histogram