GPU技术_支持nvlink的显卡

GPU技术_支持nvlink的显卡目录浅析GPU通信技术(上)-GPUDirectP2P浅析GPU通信技术(中)-NVLink浅析GPU通信技术(下)-GPUDirectRDMA1.背景上一篇文章《浅析GPU通信技术(上)-GPUDirectP2P》中我们提到通过GPUDirectP2P技术可以大大提升GPU服务器单机的GPU通信性能,但是受限于PCIExpre…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

浅析GPU通信技术(上)-GPUDirect P2P

浅析GPU通信技术(中)-NVLink

浅析GPU通信技术(下)-GPUDirect RDMA

1.  背景

上一篇文章《浅析GPU通信技术(上)-GPUDirect P2P》中我们提到通过GPUDirect P2P技术可以大大提升GPU服务器单机的GPU通信性能,但是受限于PCI Expresss总线协议以及拓扑结构的一些限制,无法做到更高的带宽,为了解决这个问题,NVIDIA提出了NVLink总线协议。

本篇文章我们就来谈谈NVIDIA提出的NVLink总线协议,看看它到底是何方神圣。

2. NVlink介绍

2.1 发布

NVLink技术是在2014年3月的NVIDIA GTC 2014上发布的。对普通消费者来说,这一届的GTC似乎没有太多的亮点,也没有什么革命性的产品发布。这次GTC上,黄仁勋展示了新一代单卡双芯卡皇GeForce Titan Z,下一代GPU架构Pascal也只是初露峥嵘。在黄仁勋演讲中只用大约五六页PPT介绍的NVLink也很容易被普通消费者忽视,但是有心的专业人士确从此举看到了NVIDIA背后巨大的野心。

首先我们简单看下NVIDIA对NVLink的介绍:NVLink能在多GPU之间和GPU与CPU之间实现非凡的连接带宽。带宽有多大?2016发布的P100是搭载NVLink的第一款产品,单个GPU具有160GB/s的带宽,相当于PCIe Gen3 * 16带宽的5倍。去年GTC 2017上发布的V100搭载的NVLink 2.0更是将GPU带宽提升到了300G/s,差不多是PCIe的10倍了。

好了,这下明白了为什么NVIDIA的NVLink会如此的引人注意了。但是NVLink背后的布局远不只是如此。

2.2 解读

我们来看看NVLink出现之前的现状:

1)PCIe:

PCIe Gen3每个通道(每个Lane)的双向带宽是2B/s,GPU一般是16个Lane的PCIe连接,所以PCIe连接的GPU通信双向带宽可以达到32GB/s,要知道PCIe总线堪称PC系统中第二快的设备间总线(排名第一的是内存总线)。但是在NVLink 300GB/s的带宽面前,只有被碾压的份儿。

2)显存带宽:

上一代卡皇Geforce Titan XP的GDDR5X显存带宽已经达到547.7 GB/s,搭载HBM2显存的V100的带宽甚至达到了900GB/s。显卡核心和显存之间的数据交换通道已经达到如此高的带宽,但是GPU之间以及GPU和CPU之间的数据交换确受到PCIe总线的影响,成为了瓶颈。这当然不是NVIDIA希望看到的,而NVLink的出现,则是NVIDIA想打破这个瓶颈的宣言。

 3)CPU连接:

实际上,NVLink不但可以实现GPU之间以及GPU和CPU之间的互联,还可以实现CPU之间的互联。从这一点来看,NVLink的野心着实不小。

我们知道,Intel的CPU间互联总线是QPI,20位宽的QPI连接带宽也只有25.6GB/s,在NVLink面前同样差距巨大。可想而知,如果全部采用NVLink总线互联,会对系统数据交换通道的带宽有多大提升。

当然,NVIDIA自己并没有CPU,X86仍然是当今CPU的主流架构,被Intel把持方向和趋势,NVLink绝没有可能进入X86 CPU连接总线的阵营。于是便有了NVIDIA和IBM组成的OpenPower联盟。

NVIDIA是受制于没有CPU,而IBM则恰好相反,IBM有自己的CPU,Power 处理器的性能惊艳,但IBM缺少相应的并行计算芯片,因此仅仅依靠自己的CPU,很难在目前的异构计算中发挥出优秀的性能、规模和性能功耗比优势。从这一点来看,IBM和NVIDIA互补性就非常强了,这也是IBM为什么要和NVIDIA组建OpenPower超级计算联盟的原因了。

考虑到目前POWER生态的逐渐萎缩,要想在人工智能浪潮下趁机抢占X86的市场并不是件容易的事情,但至少给了NVIDIA全面抗衡Intel的平台。

所以有点扯远了,NVLink目前更主要的还是大大提升了GPU间通信的带宽。

2.3 结构和拓扑

2.3.1 NVLink信号与协议

NVLink控制器由3层组成,即物理层(PHY)、数据链路层(DL)以及交易层(TL)。下图展示了P100 NVLink 1.0的各层和链路:

 GPU技术_支持nvlink的显卡

P100搭载的NVLink 1.0,每个P100有4个NVLink通道,每个拥有40GB/s的双向带宽,每个P100可以最大达到160GB/s带宽。

V100搭载的NVLink 2.0,每个V100增加了50%的NVLink通道达到6个,信号速度提升28%使得每个通道达到50G的双向带宽,因而每个V100可以最大达到300GB/s的带宽。

2.3.2 拓扑

下图是HGX-1/DGX-1使用的8个V100的混合立方网格拓扑结构,我们看到虽然V100有6个NVlink通道,但是实际上因为无法做到全连接,2个GPU间最多只能有2个NVLink通道100G/s的双向带宽。而GPU与CPU间通信仍然使用PCIe总线。CPU间通信使用QPI总线。这个拓扑虽然有一定局限性,但依然大幅提升了同一CPU Node和跨CPU Node的GPU间通信带宽。

GPU技术_支持nvlink的显卡

2.3.3 NVSwitch

为了解决混合立方网格拓扑结构的问题,NVIDIA在今年GTC 2018上发布了NVSwitch。

类似于PCIe使用PCIe Switch用于拓扑的扩展,NVIDIA使用NVSwitch实现了NVLink的全连接。NVSwitch作为首款节点交换架构,可支持单个服务器节点中 16 个全互联的 GPU,并可使全部 8 个 GPU 对分别以 300 GB/s 的惊人速度进行同时通信。这 16 个全互联的 GPU (32G显存V100)还可作为单个大型加速器,拥有 0.5 TB 统一显存空间和 2 PetaFLOPS 计算性能。

关于NVSwitch的相关技术细节可以参考NVIDIA官方技术文档。应该说这一技术的引入,使得GPU间通信的带宽又大大上了一个台阶。

3. 性能

NVIDIA NVLink 将采用相同配置的服务器性能提高 31%。

GPU技术_支持nvlink的显卡

使用NVSwitch的DGX-2则能够达到2倍以上的深度学习和高性能计算的加速。

GPU技术_支持nvlink的显卡

下篇请看《浅析GPU通信技术(下)-GPUDirect RDMA》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213526.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月21日 下午1:43
下一篇 2025年7月21日 下午2:15


相关推荐

  • wuauclt1.exe mshta.exe 病毒清理

    wuauclt1.exe mshta.exe 病毒清理现象:系统xp,开机1小时以后还不能打开应用,从“事件查看器”来看是困在wuauclt.exec:\windows\system32\wuauclt1.exe在删除后就又出现了使用360急救后,上述文件仍然删除后就又出现了下载 Tweaking.com-WindowsRepair1.7.5 Author:Tweaking.comDate:2012-06

    2022年7月15日
    17
  • JVM面试题(面试必备)

    JVM面试题(面试必备)JVM 面试题 1 内存模型以及分区 需要详细到每个区放什么 2 堆里面的分区 Eden survival from to 老年代 各自的特点 3 GC 的两种判定方法 4 MinorGC 与 FullGC 分别在什么时候发生 5 类加载的几个过程 6 JVM 内存分哪几个区 每个区的作用是什么 7 如和判断一个对象是否存活 或者 GC 对象的判定方法

    2026年3月27日
    3
  • vs2010 序列号「建议收藏」

    vs2010 序列号「建议收藏」序列号:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP从网上搜的,经测试,可用信息来源:http://blog.163.com/ldy_3881685/blog/static/32380136201031333921823/示意图环境windows7旗舰中文+vs2010旗舰英文,vs2010自己从官网下载试用版本,然后输入序列号的步骤同vs200…

    2022年7月20日
    15
  • maven中scope=compile 和 provided区别

    maven中scope=compile 和 provided区别问题再现 上次这边朋友问我一个问题 就是他们在 pom xml 中的 dependency 中 看到有一些是 lt scope gt provided lt scope gt 的情况 比如如下 lt dependency gt nbsp nbsp nbsp nbsp lt groupId gt com liferay portal lt groupId gt nbsp nbsp nbsp nbsp lt artifactId gt portal impl amp l

    2026年3月16日
    1
  • 信号处理–sinc函数

    信号处理–sinc函数一维 sinc 函数函数定义 1 非归一化 sinc 函数定义为 2 归一化 sinc 函数定义为在这两种情况下 sinc 0 1 对于 x 的所有其他整数值 sinc x 0 函数形状门函数的频谱函数图中所示的门函数可表示为可求得其频谱函数为 sinc 函数的频谱函数根据傅里叶变换的对称性 二维 sinc 函数函数定义函数形状二维的 sinc 函数的三维透视图

    2026年3月18日
    2
  • 解决Visual C++工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)的办法

    解决Visual C++工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)的办法解决 VisualC 工程中包含 c 或 cpp 文件编译时产生的 pch 预编译头错误 C1853 的办法

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号