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相关推荐

  1. CUDA中grid、block、thread、warp与SM、SP的关系

    首先概括一下这几个概念.其中SM(Streaming Multiprocessor)和SP(streaming Processor)是硬件层次的,其中一个SM可以包含多个SP.thread是一个线程, ...

  2. CUDA学习----sp, sm, thread, block, grid, warp概念

    CUDA学习----sp, sm, thread, block, grid, warp概念 2017-01-11 17:14:28|  分类: HPC&CUDA优化 |  标签:cuda  g ...

  3. CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起

    目录 1.从硬件看 2.从软件看 3.对应关系 4.SIMT和SIMD 掌握部分硬件知识,有助于程序员编写更好的CUDA程序,提升CUDA程序性能,本文目的是理清sp,sm,thread,block, ...

  4. CUDA2.1-原理之索引与warp

    本小节来自<大规模并行处理器编程实战>第四节,该书是很好的从内部原理结构上来讲述了CUDA的,对于理解CUDA很有帮助,借以博客的形式去繁取间,肯定会加入自己个人理解,所以有错误之处还望指 ...

  5. CUDA中SM对线程块的调度

    sm流处理器簇对blocks的调度策略 在cuda中,GPU中的SM(比如GTX650有两个SM处理器)被CPU调度器把线程块逐个分配到SM上,每个SM同时处理这个被分配的线程块,但是每次每个时刻只能 ...

  6. Cuda学习笔记(一)——sm流处理器簇对blocks的调度策略

    由于GPU目前在各行各业的广泛应用,无论是深度学习.大数据.云计算等都离不开GPU的并行加速,前阵子自学了Cuda-c编程,希望将来的研究工作能够用得上. Cuda系列总共有4篇,这里主要用于记录本人 ...

  7. CUDA ---- Warp解析

    Warp 逻辑上,所有thread是并行的,但是,从硬件的角度来说,实际上并不是所有的thread能够在同一时刻执行,接下来我们将解释有关warp的一些本质. Warps and Thread Blo ...

  8. NVIDIA GPU SM和CUDA编程理解

    SM硬件架构基础 不同架构的变化可以参考: ​​​​​​从AI系统角度回顾GPU架构变迁--从Fermi到Ampere(V1.2) - 知乎 英伟达GPU架构演进近十年,从费米到安培 - 知乎 Vol ...

  9. CUDA硬件架构知识

    本博文是根据中科大信息学院谭立湘老师的课件加上自己的理解整理出来的 ****************************************************************** ...

最新文章

  1. Git 2.25.0 发布,新特性:部分 clone 与稀疏 checkout
  2. python中tushare数据可以导出嘛_Python与交易策略分析tushare/baostock库介绍(附代码)...
  3. 使用Template时 typename 关键字的用法
  4. 将物体固定在坐标某个点_坐标变换(2)—不同坐标系下的变换
  5. HTML荧光文字动态效果,html – 在CSS中的笔荧光笔效果
  6. Java基础学习总结(178)——时候替换你的logback/log4j1了,使用性能更强大配置更简单的log4j2
  7. python批量下载bilibili视频_如何批量下载bilibili的视频?
  8. php搭建h5商城,关于PHP的H5商城网站开发方案
  9. 不懂自学还想去大厂?快醒醒吧!
  10. 程序员工资待遇,投票!
  11. php设置excel列宽,excel列宽在哪里设置
  12. NUCLE0 STM32L476RGT6开发板的资料整理
  13. Data Matrix码
  14. Vue提示 , Vue指令提示, Vue代码提示 Pycharm中引用vue不显示提示
  15. 证明:无理数的无理数次方是否还是无理数
  16. 深入Python 验证码解析
  17. CreateProcess的用法
  18. 爬虫【1】打开网站,获取信息
  19. 做网络推广怎么换IP地址?
  20. 独立游戏开发者的一些PR经验

热门文章

  1. 【深度分解】听趣拍云产品经理剖析视频基础知识(2)
  2. thinkPHP的帮助
  3. Linux:安装npm
  4. 如何买入期货合约(如何买入期货合约交易)
  5. 记一次 idea 配置scala 和运行 IDEA 错误: 找不到或无法加载主类
  6. 离子引擎驱动的无声飞机原型成功试飞;华为测试谷歌 Fuchsia OS
  7. (07)FPGA硬件描述语言
  8. 51c语言字符,51单片机C语言教程(九) 语句应用
  9. uname -a了解
  10. EEROM和FRAM写入速度比较