欢迎关注我的公众号 [极智视界],获取我的更多经验分享
大家好,我是极智视界,本文分享一下 GPU架构与计算能力。
邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq
每款发布的 NVIDIA GPU 产品 或者说 每代 GPU 架构都有自己的几个身份标识,比如架构 (GPU Architecture),比如计算能力 (Compute Capability),这里咱们就来讲讲这俩标识。
NVIDIA GPU 更新迭代比较快,现在一般就是两年更新一代的节奏,比如目前最新的 Hopper 架构是在 2022 年 3 月份的 NVIDIA GTC 2022 大会上发布的,按这个节奏,应该明年的 GTC 大会就会发布下一代了。在发布新一代 GPU 的时候一般就会给个代号,NVIDIA 习惯用伟大科学家的名字来作 GPU 架构的代号,比如特斯拉 Tesla、比如开普勒 Kepler、比如图灵 Turing。而计算能力不像架构这么 "张扬",计算能力会相对 "隐蔽" 一些,可能真正只有要用 GPU,要用 CUDA 去编程的人才会留意,因为可能在用 NVCC 编译的时候需要指定 GPU 的计算能力。而一般来说,GPU 架构和 计算能力 之间是会存在一定的对应关系的,一般的规律是 GPU 的架构越新,它的计算能力也会更加高,比如现在最新的 Hopper 架构也拥有着最高的计算能力。
下面我整理了 NVIDIA 目前所有 GPU 架构代号、对应的 GPU 计算能力、发布的时间与代表产品,如下,
其中的计算能力一栏有 X、X.Y 之分,意思是 X 代表主版本号,而 Y 代表次版本号,通常情况下主版本号 X 就代表一代 GPU 的架构。这样,可以看到表格里面有几个 "显眼包",解释一下,对于图灵架构,它的计算能力为 7.5,虽然主版本和 Volta 一样都是 7,但是因为 Turing 架构的影响太大、产品之多 (特别是 Tesla T4 计算卡,前几年一直都是 AI 计算推理卡的首选),一般咱们也会把它独立为一代。而对于 Ada 架构,目前也基本是把它看成独立的一代产品,它的主力产品 Tesla L4 是用来替代 Tesla T4 的存在,在未来的 AI 推理领域会很重要。
目前最新的就是 Hopper 架构,H100 是神仙一般的存在,而不久的 2024,NVIDIA 的新一代 GPU Blackwell 就将发布,预计会采用台积电 3nm 工艺,性能估计又会飙升,可怕 ...
前面说到,用 CUDA 去编程的人会留意 GPU 的计算能力,这是因为不同架构的 GPU 之间的硬件资源、GPU 指令集会有较大的差异,因此编译出的二进制可执行文件 (.cubin) 在不同的架构之间是不可以混用的,也就是说 GPU 不同架构之间的 cubin 兼容性存在很大的问题 (这也是为什么咱们在用 TensorRT 生成模型 Engine 的时候,在不同架构的 GPU 之间不通用的原因)。比如在 Turing 上编译的可执行程序,很可能在 Ampere 架构上是执行不了的,反之也一样。
而对于 Volta 和 Turing 这两代架构,它们的主版本是一致的,Turing 的次版本更高,对于这种情况,一般认为只是存在较少的配置差异,仅仅会导致在功能、性能上会有些差异,它们之间的差异还是比较小的。次版本高的 GPU 可以运行同一主版本号的、次版本号较低的 GPU 上编译的程序,这么说的话在 Turing GPU 上就可以运行 Volta GPU 编译出的可执行程序。
这里还有个误区,对于刚了解 GPU 的来说,可能会想当然地认为:GPU 计算能力越高,那么它的算力也越高、性能也越好,这个想法是非常危险的。罗列一组 GPU 参数性能数据对比进行说明,如下,
可以看到,计算能力更低的 Volta 架构的 Tesla V100、Pascal 架构的 Tesla P100,它们的算力都是要比计算能力更高的 Turing 架构的 RTX 2080Ti 反而更高,这么看之前 "想当然" 的认为就被推翻了。这里面其实又会涉及专业计算卡、消费级显卡、笔记本显卡锁算力之类的,这里就不多说了,反正就是不能想当然的认为 计算能力越高就是性能越强 就对了。
好了,以上分享了 GPU架构与计算能力,希望我的分享能对你的学习有一点帮助。
【极智视界】
《极智芯 | GPU架构与计算能力》
畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球,星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。一定会对你学习有所帮助,也一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq