解读SM, SP和Warp
http://datamining.xmu.edu.cn/bbs/forum.php?mod=viewthread&tid=655
经常在阅读文档的时候会遇到这些名词。一般他们都会以tesla架构为例子,比如teslaC1060也就是1个SM有8个SP.
我的总结:
1. 一个显卡(GPU)里有多个(Streaming Multiprocessor)SM, 每个SM中有多个(Streaming processor)SP。
2. 一个SM会负责多个ThreadBlock(线程块)的计算任务,一般为8个。每个SP一个时刻负责一个thread。
3. 硬件层面,SM中有shared memory, register, L1 cache,因此ThreadBlock内可以共享shared memory,单独的thread拥有自己的Local memory(先被分配到register中,如果register不够就分配到global memory中)。
4. Warp是SM调度和执行的基本单位。SIMT机制使得同一个Warp里的线程根据不同的DATA执行相同的指令。一个SM,一次只能运算一个Block里的一组Warp,如果warp中有线程的DATA没有取到,那么调度下一下warp运算。
Half-Warp是SM存储操作的基本单位。它和coalescing访问global memory息息相关。
以我们实验室的GXT550 Ti为例子
( 4) Multiprocessors x (48) CUDA Cores/MP: 192 CUDA Cores
Warp size: 32
说明,有4个SM,每个SM中48个SP,一共192个SP(core)。
warp大小为32,即,要实现coalescing访问,需要满足:
现在Tesla C2075拥有448个core。
http://en.wikipedia.org/wiki/Nvidia_Tesla
GPU计算,看来 显存和core核数 是关键。
个人认为,同样的core核数,SM数量应该多点,SM中的SP数可以少点。SP多了之后对SM资源抢占变得紧缺。就像有10个房间,每个房间3个人,和3个房间,每个房间10个人一样。
解读SM, SP和Warp相关推荐
- CUDA中grid、block、thread、warp与SM、SP的关系
首先概括一下这几个概念.其中SM(Streaming Multiprocessor)和SP(streaming Processor)是硬件层次的,其中一个SM可以包含多个SP.thread是一个线程, ...
- CUDA学习----sp, sm, thread, block, grid, warp概念
CUDA学习----sp, sm, thread, block, grid, warp概念 2017-01-11 17:14:28| 分类: HPC&CUDA优化 | 标签:cuda g ...
- CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起
目录 1.从硬件看 2.从软件看 3.对应关系 4.SIMT和SIMD 掌握部分硬件知识,有助于程序员编写更好的CUDA程序,提升CUDA程序性能,本文目的是理清sp,sm,thread,block, ...
- CUDA2.1-原理之索引与warp
本小节来自<大规模并行处理器编程实战>第四节,该书是很好的从内部原理结构上来讲述了CUDA的,对于理解CUDA很有帮助,借以博客的形式去繁取间,肯定会加入自己个人理解,所以有错误之处还望指 ...
- CUDA中SM对线程块的调度
sm流处理器簇对blocks的调度策略 在cuda中,GPU中的SM(比如GTX650有两个SM处理器)被CPU调度器把线程块逐个分配到SM上,每个SM同时处理这个被分配的线程块,但是每次每个时刻只能 ...
- Cuda学习笔记(一)——sm流处理器簇对blocks的调度策略
由于GPU目前在各行各业的广泛应用,无论是深度学习.大数据.云计算等都离不开GPU的并行加速,前阵子自学了Cuda-c编程,希望将来的研究工作能够用得上. Cuda系列总共有4篇,这里主要用于记录本人 ...
- CUDA ---- Warp解析
Warp 逻辑上,所有thread是并行的,但是,从硬件的角度来说,实际上并不是所有的thread能够在同一时刻执行,接下来我们将解释有关warp的一些本质. Warps and Thread Blo ...
- NVIDIA GPU SM和CUDA编程理解
SM硬件架构基础 不同架构的变化可以参考: 从AI系统角度回顾GPU架构变迁--从Fermi到Ampere(V1.2) - 知乎 英伟达GPU架构演进近十年,从费米到安培 - 知乎 Vol ...
- CUDA硬件架构知识
本博文是根据中科大信息学院谭立湘老师的课件加上自己的理解整理出来的 ****************************************************************** ...
最新文章
- Git 2.25.0 发布,新特性:部分 clone 与稀疏 checkout
- python中tushare数据可以导出嘛_Python与交易策略分析tushare/baostock库介绍(附代码)...
- 使用Template时 typename 关键字的用法
- 将物体固定在坐标某个点_坐标变换(2)—不同坐标系下的变换
- HTML荧光文字动态效果,html – 在CSS中的笔荧光笔效果
- Java基础学习总结(178)——时候替换你的logback/log4j1了,使用性能更强大配置更简单的log4j2
- python批量下载bilibili视频_如何批量下载bilibili的视频?
- php搭建h5商城,关于PHP的H5商城网站开发方案
- 不懂自学还想去大厂?快醒醒吧!
- 程序员工资待遇,投票!
- php设置excel列宽,excel列宽在哪里设置
- NUCLE0 STM32L476RGT6开发板的资料整理
- Data Matrix码
- Vue提示 , Vue指令提示, Vue代码提示 Pycharm中引用vue不显示提示
- 证明:无理数的无理数次方是否还是无理数
- 深入Python 验证码解析
- CreateProcess的用法
- 爬虫【1】打开网站,获取信息
- 做网络推广怎么换IP地址?
- 独立游戏开发者的一些PR经验