没有合适的资源?快使用搜索试试~ 我知道了~
首页浅析GPU通信技术.pdf
浅析GPU通信技术.pdf
需积分: 50 37 下载量 146 浏览量
更新于2023-03-03
评论
收藏 2.89MB PDF 举报
GPU 在高性能计算和深度学习加速中扮演着非常重要的角色,GPU 的强大的并行计算能力,大大提升了运算性能。随着运算数据量的不断攀升,GPU 间需要大量的交换数据,GPU 通信性能成为了非常重要的指标。NVIDIA 推出的 GPU Direct 就是一组提升 GPU 通信性能的技术。但 GPU Direct 受限于 PCI Expresss 总线协议以及拓扑结构的一些限制,无法做到更高的带宽,为了解决这个问题,NVIDIA 提出了 NVLink 总线协议。
资源详情
资源评论
资源推荐
浅析 GPU 通信技术
第一章 GPU Direct P2P
1.背景
GPU 在⾼性能计算和深度学习加速中扮演着⾮常重要的⾓⾊,GPU 的强⼤的并⾏计算
能⼒,⼤⼤提升了运算性能。随着运算数据量的不断攀升,GPU 间需要⼤量的交换数
据,GPU 通信性能成为了⾮常重要的指标。NVIDIA 推出的 GPU Direct 就是⼀组提升
GPU 通信性能的技术。但 GPU Direct 受限于 PCI Expresss 总线协议以及拓扑结构的⼀
些限制,⽆法做到更⾼的带宽,为了解决这个问题,NVIDIA 提出了 NVLink 总线协
议。
这个系列⽂章会对以上 GPU 通信技术做详细的介绍,旨在帮助开发者更好的利⽤这些
技术对⾃⼰的应⽤做相应的优化。
本篇⽂章会先介绍⼀下 GPU Direct 技术,并着重介绍 GPU Direct Peer-to-Peer(P2P)技
术。
2. GPU Direct 介绍
2.1 简介
GPU Direct 技术有如下⼏个关键特性:
1. 加速与⽹络和存储设备的通信;
2. GPU 之间的 Peer-to-Peer Transers;
3. GPU 之间的 Peer-to-Peer memory access;
4. RDMA ⽀持
5. 针对 Video 的优化
下⾯对最主要的⼏个技术做分别介绍。
2.2 Shared Memory
2010 年 6 ⽉最先引⼊的是 GPU Direct Shared Memory 技术,⽀持 GPU 与第三⽅ PCI
Express 设备通过共享的 pin 住的 host memory 实现共享内存访问从⽽加速通信。
2.3 P2P
2011 年,GPU Direct 增加了相同 PCI Express root complex 下的 GPU 之间的 Peer to
Peer(P2P) Direct Access 和 Direct Transers 的⽀持。
2.4 RDMA
2013 年,GPU Direct 增加了 RDMA ⽀持,使得第三⽅ PCI Express 设备可以 bypass
CPU host memory 直接访问 GPU。
3. GPU Direct P2P
3.1 P2P 简介
GPU Direct Peer-to-Peer (P2P) 技术主要⽤于单机 GPU 间的⾼速通信,它使得 GPU 可
以通过 PCI Express 直接访问⽬标 GPU 的显存,避免了通过拷贝到 CPU host memory
作为中转,⼤⼤降低了数据交换的延迟。
以深度学习应⽤为例,主流的开源深度学习框架如 TensorFlow、MXNet 都提供了对
GPU Direct P2P 的⽀持,NVIDIA 开发的 NCCL(NVIDIA Collective Communications
Library)也提供了针对 GPU Direct P2P 的特别优化。
通过使⽤ GPU Direct P2P 技术可以⼤⼤提升深度学习应⽤单机多卡的扩展性,使得深
度学习框架可以获得接近线性的训练性能加速⽐。
3.2 P2P 虚拟化
随着云计算的普及,越来越多技术迁移到云上,在云上使⽤ GPU Direct 技术,就要解
决 GPU Direct 虚拟化的问题。
这⾥我们着重讨论下 GPU Direct Peer-to-Peer 虚拟化的问题:
使⽤ PCI Pass-through 虚拟化技术可以将 GPU 设备的控制权完全授权给 VM,使得虚
拟机⾥的 GPU driver 可以直接控制 GPU ⽽不需要 Hypervisor 参与,性能可以接近物
理机。但是同⼀个虚拟机内的应⽤却⽆法使⽤ P2P 技术与其它 GPU 实现通信。下⾯分
析⼀下⽆法使⽤ P2P 的原因。
• ⾸先我们需要知道⼀个技术限制,就是不在同⼀个 Intel IOH(IO Hub)芯⽚组下⾯
PCI-e P2P 通信是不⽀持的,因为 Intel CPU 之间是 QPI 协议通信,PCI-e P2P 通信
是⽆法跨 QPI 协议的。所以 GPU driver 必须要知道 GPU 的 PCI 拓扑信息,同⼀
个 IOH 芯⽚组下⾯的 GPU 才能使能 GPU Diret P2P。
• 但是在虚拟化环境下,Hypervisor 虚拟的 PCI Express 拓扑结构是扁平的,GPU
driver ⽆法判断真实的硬件拓扑,所以⽆法开启 GPU Direct P2P。为了让 GPU
driver 获取到真实的 GPU 拓扑结构,需要在 Hypervisor 模拟的 GPU PCI 配置空间
剩余17页未读,继续阅读
茶博士_38043550
- 粉丝: 25
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0