前言
【「算力芯片 | 高性能 CPU/GPU/NPU 微架构分析」书中的芯片知识是比较接近当前的顶尖芯片水平的,同时包含了芯片架构的基础知识,但该部分知识比较晦涩难懂,或许是由于我一直从事的事芯片的应用层面的工作,对于芯片底层基本原理兴趣缺缺,本帖结合自己实际生活与工作中对GPU新品的应用实例和书中内容分享下相关见解。
NVlink的初应用
**NVlink(SLI)**是NVIDIA公司针对自家GPU 提出的多卡算力互连技术,是早期为了应对深度学习对超高算力需求而单卡算力不足的局面的解决方案,当然这都是官方用来吹牛的话术。我自己在2019年左右第一次接触到多卡交火的GIY玩法(从学生到工作者身份的转变期),便对这项技术深深痴迷,但当时主流的RTX20系列,需要2080级别以上的才支持,鉴于个人实力,便将目光放在了9系卡上,这也就是「算力芯片 | 书中讲的pascal架构的第一代NVlink GPU,一口气淘了两张GTX960回来进行进行组建SLI。作为DIY爱好者,当时对于这一套还是非常满意和兴奋的,开展了一系列的测评和对比,说实话,看到那双卡接近网络上980“高端卡”的跑分个人感觉还是非常厉害的,毕竟两张960加起来也不如一张980贵(二手价),从实际测试的数据上式非常具有性价比的:

(看看网友的跑分图)
当然,评分只是理论数据了,实际怎么样,还得看它们干起活来行不行。鉴于当时的我还是个游戏党,那评测的自然就是游戏帧率的效果了,结果只能是说大受打击吧,在实际游戏中的表现,仅比GTX970强了一点吧,远达不到980的水平,当然可能主要是游戏对多卡交火的支持并不号,而当时的我还没接触过大模型的内容以及后期从事的视觉检测分析技术,再后来不论是自己的PC还是工作服务器,基本都是单旗舰卡,也没过多接触过NVlink技术(实际是后续都只在顶级卡上用NVlink,多卡组不起。。)
原理学习
在「算力芯片 | 高性能 CPU/GPU/NPU 微架构分析」书中,作者详解了从帕斯卡架构到40系的Hopper架构的技术演变进化,按照出版时间算是囊括了NVIDIA最新产品的顶尖技术内容,并对最新技术的原理做了详细的说明和解读。我本人近几年的工作重心在嵌入式板卡和FPGA领域,虽然没接触过多GPU互连PC(或服务器),但还是对这部分内容较感兴趣,重点讲解下我阅读后理解的NVlink:
NVlink1.0——初代的堆叠技术
英伟达2014发布了NVLink的首个版本——NVLink 1.0。在2016年发布的P100芯片上,首次搭载了NVLink 1.0技术。
NVlink1.0带来了总双向带宽160GB/s的通讯速率,远高于当时的PCIe接口(实际比现在的PCIe5.0也还要快)。首代的NVlink主要是增强了GPU到GPU的通信性能和GPU对系统内存的访问性能,即拓扑上实现了两种结构:
①GPU-GPU
②CPU-GPU

这是书中介绍的一个包括了两个完全通过NVlink连接的8 GPU混合立方网状拓扑结构:

NVLink本质上是一种基于高速差分信号线的串行通信技术。上面提到的P100 GPU集成了4条NVLink 1.0链路。每条NVLink 1.0链路由8对差分线(8个通道)组成。

NVlink的演变
书中详细介绍了NVlink的演变、进化历程,说实话,我看懂的基本就是连接的GPU越来越多,连接技术的速率越来越快,已经到了PCIe望尘莫及的地步:

实际中已经来到了NVlink5.0了。
并且NVIDIA推出了NVSwitch技术,该技术是为了实现8颗GPU之间的all-to-all互连。效果图如下:

说实话,到后面的介绍中我基本只能当做GPU技术发布新闻来阅读了,涉及到的GPU互连技术超出了我作为普通PC消费者的理解能力和接触面,无法理解其中的复杂设计了。