NVIDIA GPU的架构代号

您所在的位置:网站首页 cuda版本号的含义 NVIDIA GPU的架构代号

NVIDIA GPU的架构代号

2023-09-01 13:40| 来源: 网络整理| 查看: 265

NVIDIA GPU的架构代号 NVIDIA GPU的架构代号什么时候用gencode,什么时候用arch呢SM_num和gencode变量费米 Fermi(cuda 3.2~cuda 8)开普勒 Kepler(cuda 5~cuda 10)麦克斯韦 Maxwell(CUDA 6~CUDA 11)帕斯卡 Pascal (CUDA 8 ~今)伏特 Volta (CUDA 9 ~今)图灵Turing (CUDA 10 ~今)安培Ampere (CUDA 11 ~今)哈珀Hopper (CUDA 12 计划中)例子:

NVIDIA GPU的架构代号

使用NVIDIA GPU时,难免会用到nvcc来编译自己写的cuda代码,nvcc要求我们给一个-arch选项或者-gencode选项,gencode也可以从ptx编译代码。但是NVIDIA的架构代号很多,有GA-{num}类型,也有sm_{num}类型,有时候给人整不会了都。GA系列的架构代号网络上的解释很多,这里不多扯了。sm的代号他们有这么多,大家看看: sm_20 sm_30 sm_50 sm_60 sm_70 sm_75 sm_80 sm_901 ? sm_35 sm_52 sm_61 sm_72 sm_86 sm_37 sm_53 sm_62

什么时候用gencode,什么时候用arch呢

如果你写的cuda代码,那么最好就是用-arch。这样也会加快runtime,因为直接编译出obj。如果仅仅使用-gencode,而没有使用-arch,CPU的codegen会发生在JIT阶段,就是在runtime编译device code。 接下来介绍架构代码了。

SM_num和gencode变量 费米 Fermi(cuda 3.2~cuda 8)

SM20 or SM_20, compute_30 – GeForce 400, 500, 600, GT-630. CUDA 10 以后就完全不支持了。

开普勒 Kepler(cuda 5~cuda 10)

SM30 or SM_30, compute_30 – GeForce 700, GT-730 支持了统一内存模型编程

SM35 or SM_35, compute_35 – Tesla K40. 支持动态并行化。

SM37 or SM_37, compute_37 – Tesla K80. 增加了一些寄存器。

CUDA 11 以后就完全不支持了。

麦克斯韦 Maxwell(CUDA 6~CUDA 11)

SM50 or SM_50, compute_50 – Tesla/Quadro M 系列

SM52 or SM_52, compute_52 – Quadro M6000 , GeForce 900, GTX-970, GTX-980, GTX Titan X

SM53 or SM_53, compute_53 – Tegra (Jetson) TX1 / Tegra X1, Drive CX, Drive PX, Jetson Nano

cuda 11 以后彻底不支持

帕斯卡 Pascal (CUDA 8 ~今)

SM60 or SM_60, compute_60 – Quadro GP100, Tesla P100, DGX-1 (Generic Pascal)

SM61 or SM_61, compute_61– GTX 1080, GTX 1070, GTX 1060, GTX 1050, GTX 1030, Titan Xp, Tesla P40, Tesla P4, Discrete GPU on the NVIDIA Drive PX2

SM62 or SM_62, compute_62 – Integrated GPU on the NVIDIA Drive PX2, Tegra (Jetson) TX2

伏特 Volta (CUDA 9 ~今)

SM70 or SM_70, compute_70 – DGX-1 with Volta, Tesla V100, GTX 1180 (GV104), Titan V, Quadro GV100

SM72 or SM_72, compute_72 – Jetson AGX Xavier, Drive AGX Pegasus, Xavier NX

图灵Turing (CUDA 10 ~今)

SM75 or SM_75, compute_75 – GTX/RTX Turing – GTX 1660 Ti, RTX 2060, RTX 2070, RTX 2080, Titan RTX, Quadro RTX 4000, Quadro RTX 5000, Quadro RTX 6000, Quadro RTX 8000, Quadro T1000/T2000, Tesla T4

安培Ampere (CUDA 11 ~今)

SM80 or SM_80, compute_80 – NVIDIA A100 (不再用特斯拉(Tesla)做名字了 – GA100), NVIDIA DGX-A100

SM86 or SM_86, compute_86 – (from CUDA 11.1 onwards) Tesla GA10x, RTX Ampere – RTX 3080, GA102 – RTX 3090, RTX A6000, RTX A40

“计算能力高于 8.6 的比8.0的有2倍以上 FP32 的计算能力 (单位:ops/cycle/SM)。 从8.0上编译出的二进制文件也可以在8.6上运行,但还是推荐在fp32类型上使用8.6的编译选项。“2

哈珀Hopper (CUDA 12 计划中)

SM90 or SM_90, compute_90 – NVIDIA H100 (GH100)

例子: -arch=sm_30 \ -gencode=arch=compute_20,code=sm_20 \ -gencode=arch=compute_30,code=sm_30 \ -gencode=arch=compute_50,code=sm_50 \ -gencode=arch=compute_52,code=sm_52 \ -gencode=arch=compute_52,code=compute_52

可能是hopper,也就是是tesla-next。 ↩︎

https://docs.nvidia.com/cuda/ampere-tuning-guide/index.html#improved_fp32 ↩︎



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3