GPU中与CUDA相关的几个概念
2012-06-04 12:42
344 查看
今天说说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的线程,以不同数据资源执行相同的指令。 thread-->block-->grid:在利用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的资源问题,不要出现对应的资源不够。 |
相关文章推荐
- GPU中与CUDA相关的几个概念
- GPU中与CUDA相关的几个概念
- GPU以及CUDA的几个基本概念理解
- GPU&CUDA几个基本概念
- 和支持向量机(SVM)相关的几个基本概念
- (二) 几个RTOS相关的概念
- cuda学习笔记一之GPU基本概念
- 关于“重定位”及其相关的几个概念
- 和GUI相关的几个概念
- GPU 的硬件基本概念,Cuda和Opencl名词关系对应
- NAT的几个相关概念:
- 几个数据库的相关概念
- Windows Phone开发之路(3) Windows Phone开发相关的几个概念
- GPU地址空间的相关概念
- 几个数据库的相关概念
- 关于软件测试的几个相关概念
- 和云计算、虚拟化相关的几个概念的粗浅理解
- Oracle 与SQL相关的几个概念
- CUDA(一) GPU计算性能的相关计算公式
- 配置pycharm远程调试的环境(服务器为linux系统)&&服务器上安装tensorflow-gpu及配置cuda环境&&相关问题的解决办法