流式多处理器(streamingMultiproeessor,SM)与流处理器(strcamingProcessor, sp)

     SM是一种单指令多线程((single Instruction MultipleThread,SIMT)架构的处理器,类似单指令流多数据流(SIMD)的特点,含有指令发射单元,及若干个流处理器(strcamingProcessor,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能力相关:

  1. Compute Capability <= 1.3 --> 8 CUDA Cores / SM
  2. CC == 2.0 --> 32 CUDA cores / SM
  3. CC == 2.1 --> 48 CUDA cores / SM
并且有
Multiprocessors x Cores/MP = Cores

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

http://en.wikipedia.org/

http://stackoverflow.com




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值