SM是一种单指令多线程((single Instruction MultipleThread,SIMT)架构的处理器,类似单指令流多数据流(SIMD)的特点,含有指令发射单元,及若干个流处理器(streamingProcessor,sp)或标量处理器(Scalarproeessor,SP),特殊函数处理器(speeial Funetion Proeessor,SFU),可快速访问的共享存储器(shared memory)以及指令和常量(constant)缓存”。

真正进行运算操作的就是流处理器SP,包含有浮点及整数处理单元和寄存器,可以进行浮点数的乘加/乘/加(FMAD/FMUL/FADD),整数的加/乘/比较/移位(ADD/MUL/CMP/MOVE)等操作”。
在cuda编程中,可用如下库函数获得显卡的相关参数信息。

cudaDeviceProp prop;
int count;
cudaGetDeviceCount( &count );
for (int i = 0; i < count; i++)
cudaGetdeviceProperties(& prop,i);

其中,prop.multiProcessorCount,prop.maxThreadsPerMultiProcessor 分别指设备上的流多处理器(SM)的数量和每个流多处理器(SM)最大线程数量。

在费米构架中,每个流多处理器中运算单元(SM,或Cores)与计算GPU能力相关:

Compute Capability <= 1.3 –> 8 CUDA Cores / SM

CC == 2.0 –> 32 CUDA cores / SM

CC == 2.1 –> 48 CUDA cores / SM

并且有Multiprocessors x Cores/MP = Cores

于是笔者算着自己电脑里GeForce 630 显卡的流多处理器数量数2,运算单元数是96,即每个流多处理器中运算单元数是48。更多显卡的详细参数和最大并行执行线程数量相关问题请参考下面的链接。

http://en.wikipedia.org/

http://stackoverflow.com

CUDA流多处理器(stream multiprocessor,sm)和硬件流处理器(stream processor,sp)相关推荐

  1. CUDA C编程权威指南 第六章 流和并发

    流 cuda流 流分为两种类型:1)隐式声明流(空流),2)显式声明流(非空流) cudaError_t cudaMemcpyAsync(void* dst,const void* src, size ...

  2. 串口流控--软件流控与硬件流控

    在串行通讯处理中,常常看到rts/cts和xon /xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中.流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?下 ...

  3. 串口的硬件流控和软件流控

    为什么需要流控?   当两台设备进行串口通信,假如他们对数据的处理速度不同.如果接收端数据缓冲区已满,则此时继续发送来的数据就会丢失.使用流控机制时,当接收端数据处理能力饱和时,就发出"不再 ...

  4. 【Java10】lambda表达式(函数式编程),Stream流,File类,字节/字符流,乱码,缓冲/转换/序列化/打印流,Properties

    文章目录 1.lambda表达式标准语法:()->{} 2.lambda表达式简略语法:可推导即可省略 3.lambda表达式原理:lambda效率比匿名内部类高 4.两个函数式接口:Consu ...

  5. java8 Stream的实现原理 (从零开始实现一个stream流)

    1.Stream 流的介绍 1.1 java8 stream介绍 java8新增了stream流的特性,能够让用户以函数式的方式.更为简单的操纵集合等数据结构,并实现了用户无感知的并行计算. 1.2  ...

  6. java8之Stream API(提取子流和组合流)

    为什么80%的码农都做不了架构师?>>>    Stream.limit(n)会返回一个包含n个元素的新流(如果原始流的长度小于n,则会返回原始的流).例如: package jav ...

  7. STM32:UART中的硬件流控RTS与CTS

    UART中的硬件流控RTS与CTS 最近太忙了,没时间写对Ucos-II的移植,先将工作中容易搞错的一个知识点记录下来,关于CTS与RTS的. 在RS232中本来CTS 与RTS 有明确的意义,但自从 ...

  8. 错误:Attempted read from closed stream尝试读取关闭的流!!!

    错误:Attempted read from closed stream尝试读取关闭的流!!! 原因:一个HttpClient里只能有一次获取Entity的操作,不能有多次获取Entity的操作,ge ...

  9. java8 stream运行原理之并行流原理详解

    上一篇文章<java8 stream运行原理之顺序流原理详解>介绍了顺序流的执行原理,本文接着上一篇介绍并行流的执行原理. 一.如何创建并行流 调用parallel()方法可以创建并行流, ...

最新文章

  1. 无线网络未来十年十大产业趋势
  2. 第八周项目一-数组做数据成员(3)
  3. windows免输密码登录
  4. Contest2071 - 湖南多校对抗赛(2015.03.28)
  5. 针对Python中冒号的详细解释
  6. python 标准差_标准差python
  7. linux C 列出目录中的文件列表 包含文件的相关信息
  8. An internal error occurred during: “AppXray Indexing
  9. 帆软报表多行多条数据写入表_在线报表FineReport中多数据集如何实现层式报表...
  10. Arduino MEGA 2560找不到驱动怎么办
  11. [html] 开发静态页面时,不依赖node相关的工具,如何提取出公共部分并引入?
  12. roads 构筑极致用户体验_万物互联大势所趋 华为保驾护航运营商“三个转型”...
  13. 55 FI配置-财务会计-固定资产-主数据-定义4-字符评估组
  14. 【算法】剑指 Offer 56 - I. 数组中数字出现的次数 【重刷】太难了
  15. 20135115臧文君---实验2
  16. HP-lefthand底层结构具体解释及存储灾难数据恢复
  17. 写了一个很矬( cuó)的移动端用户管理
  18. 小学steam计算机课程案例,STEAM课程典型案例——桥世界
  19. 验证计算机名出现一般性网络错误,一般性网络错误请检查网络文档
  20. python - TypeError: combat(sume,sumu) missing 2 required positional arguments: sume,sumu

热门文章

  1. 【数值优化之范数与导数】
  2. python warning
  3. 【鸿蒙】HarmonyOS认证学习资料整理
  4. kafka同步mysql数据报Possibly consider using a shorter maxLifetime value.
  5. 一篇文章读懂身份技术发展简史
  6. Msc.Marc的python开发#1
  7. java毕业设计——基于java+Jsoup+HttpClient的网络爬虫技术的网络新闻分析系统设计与实现(毕业论文+程序源码)——网络新闻分析系统
  8. 基于Javaweb的小项目(类似于qqzone) 7 —— 日志相关操作
  9. 1000个瓶子里面999瓶是水,多少次试验确定哪瓶是毒药
  10. Java8新特性函数式编程