CUDA各硬体计算能力的区别. | 杨漱玉青::青的点滴

今天看到有人在一个硬体论坛问起CUDA的计算能力1.0,1.1,1.2和1.3版本的区别.

现在做个小小的解释.

首先说明,CUDA的硬体计算能力是不可以通过软体升级来升级的,就像DirectX的版本支持一样,但是同样也可以像DirectX一样通过软体模拟(EMU模式),不过性能暴降,而且准确性难以保证.

CUDA硬体的计算能力{zx0}正式发布的是1.0版本,是搭载G80 GPU面世的,目前{zx1}的是1.3版本.

其也不同于CUDA Tookit和SDK的软体版本,曾经看到一篇驱动之家的Fermi架构分析里面居然还分不清CUDA的软体和硬体计算能力版本是xx不一样的东西,真是贻笑大方了.

CUDA Tookit和SDK是给开发人员的软体,目前官方{zx1}版本是2.3,当然3.0版本的Beta早已面世.

让我们看看硬体计算能力版本的规格.

来自CUDA Programming Guide:

计算能力 1.0 的规范

每个块的{zd0}线程数为 512;

一个线程块的 x、y 和 z 维的{zd0}规格分别为 512、512 和 64;

线程块网格各维度的{zd0}规格为 65535;

n???????? Warp 块的大小是 32 个线程;

n???????? 每个多处理器的寄存器数量是 8192;

n???????? 每个多处理器可用的共享存储器数量是 16KB,组织为 16 个存储体;

n???????? 固定存储器的总量是 64KB;

n???????? 固定存储器的缓存工作区是每个多处理器 8KB;

n???????? 纹理存储器的缓存工作区介于每个多处理器 6 到 8KB 之间;

n???????? 每个多处理器的{zd0}活动块数是 8;

n???????? 每个多处理器的{zd0}活动 warp 块数是 24;

n???????? 每个多处理器的{zd0}活动线程数是 768;

n???????? 对于绑定到一维 CUDA 数组的纹理参考,{zd0}宽度为 213

n???????? 对于绑定到二维 CUDA 数组的纹理参考,{zd0}宽度为 216,{zd0}高度为 215

n???????? 对于绑定到三维 CUDA 数组的纹理参考,{zd0}宽度为 211,{zd0}高度为 211,{zd0}深度为 211

n???????? 对于绑定到线性存储器的纹理参考,{zd0}宽度为 227

n???????? 内核大小限制为 200 万 PTX 指令;

n???????? 每个多处理器都由 8 个处理器组成,因此一个多处理器能够在 4 个时钟周期内处理一个 warp 块的 32 个线程。

计算能力 1.1 的规范

n???????? 支持在全局存储器的 32 位字上操作的原子函数。

计算能力 1.2 的规范

支持在共享存储器中操作的原子函数以及在全局存储器的 64 位字上操作的原子函数;

n???????? 支持 warp vote 函数;

n???????? 每个多处理器的寄存器数量是 16384;

n???????? 每个多处理器的{zd0}活动 warp 块数量是 32;

n???????? 每个多处理器的{zd0}活动线程数是 1024。

计算能力 1.3 的规范

n???????? 支持双精度浮点数。

GPU不同,支持的硬体计算能力版本也不同,CUDA 1.0只有G80一种GPU支持,随后发布的G8x和G9x系列的GPU已经支持了CUDA 计算能力1.1.

目前只有GT200的GPU是支持到1.3的.

或许是因为支持double需要比较高的硬体成本,所以随后发布的廉价GPU GT21x系列只支持到CUDA 计算能力1.2.

当然这些都是向下兼容的.

CUDA此前对double支持不好一直是其在HPC领域大规模推广的硬伤之一,因为在金融,气象等等领域需要用到很高的精度,单精度显然是难以满足要求的.

于是就有了一些用单精度模拟双精度的算法出现,当然这是大幅损失性能的前提下实现的.

即使到了GT200能够支持double,但是double的运算性能仍然只有单精度1/7到1/8.

据说NVIDIA{zx1}的Fermi GPU能够大幅提高double运算性能,还是期待一下吧.

Tags: , ,

One Response to “CUDA各硬体计算能力的区别.”

Leave a Reply

郑重声明:资讯 【CUDA各硬体计算能力的区别. | 杨漱玉青::青的点滴】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——