• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

R5350 G6现在用的4GPU直通插2张A100显卡,怎么能让2张卡实现带宽叠加?

3天前提问
  • 0关注
  • 0收藏,67浏览
粉丝:0人 关注:0人

问题描述:

R5350 G6现在用的4GPU直通插2张A100显卡,怎么能让2张卡实现带宽叠加?

3 个回答
粉丝:10人 关注:9人

H3C R5350 G6让2张A100实现带宽叠加步骤:
1. BIOS设置:进入服务器BIOS,开启「GPU NVLink」(仅SXM4版A100支持,PCIe版无此功能),确认两张GPU在同一NUMA节点,降低通信损耗。
2. GPU直通:在虚拟化平台(如KVM)将2张A100直通至同一虚拟机,确保虚拟机识别双GPU。
3. 带宽叠加:
计算带宽:虚拟机内装NVIDIA驱动,配置NCCL多GPU框架,利用NVLink(SXM版)或PCIe多通道实现计算通信带宽叠加;
网络带宽:需对外带宽时,配置RoCE v2,将双A100的RoCE接口做LACP绑定,实现网络带宽聚合。

可是机器不支持插SXM4版的

zhiliao_YjVRpO 发表时间:3天前 更多>>

可是机器不支持插SXM4版的

zhiliao_YjVRpO 发表时间:3天前
粉丝:17人 关注:1人

针对你在 H3C R5350 G6 服务器上通过直通模式部署 2 张 A100 显卡,并希望实现带宽叠加(即多卡协同计算)的需求,核心在于最大化 PCIe 带宽利用率以及启用 GPU 间的直接通信(P2P)
由于 A100 显卡之间没有使用 NVLink 桥接,所有的数据交换必须依赖主板的 PCIe 通道。以下是实现最佳带宽叠加效果的具体方案:

1. 硬件与 BIOS 拓扑优化(物理基础)

为了让两张卡能够高效“对话”,必须确保它们处于最优的 PCIe 拓扑结构中:
  • 插满正确的插槽:查阅 R5350 G6 的手册,务必将两张 A100 插在由 CPU 直连的两个 PCIe x16 插槽上(通常是 Slot 1 和 Slot 3,或者 Slot 2 和 Slot 4,具体视主板丝印而定)。千万不要插在由芯片组(PCH)转接的插槽上,否则会引入巨大的延迟和带宽瓶颈。
  • BIOS 开启直通相关选项:在服务器 BIOS 中,必须开启 Above 4G Decoding(大于 4G 地址空间解码)和 SR-IOV / IOMMU 支持。这不仅能保证直通成功,还能确保 PCIe 寻址和 P2P 通信的正常开启。

2. 启用 GPU Direct P2P 通信(软件核心)

在虚拟化直通(Passthrough)环境下,要让两张 A100 绕过 CPU 和系统内存,直接在显存之间交换数据(即实现带宽叠加的关键),需要在虚拟机(VM)内部启用 NVIDIA GPUDirect P2P 技术。
在直通给 VM 的操作系统(如 Linux)中执行以下操作:
  • 开启持久化模式和计算模式
1sudo nvidia-smi -i 0 -pm 1 # 开启持久化模式 2sudo nvidia-smi -i 1 -pm 1 3sudo nvidia-smi -i 0 -c 3 # 设置为 Default 计算模式 4sudo nvidia-smi -i 1 -c 3
  • 验证 P2P 是否成功开启
    使用 Python 脚本检查两张卡之间的 P2P 状态。如果返回 NVML_P2P_STATUS_OK,说明 PCIe P2P 通信已打通,带宽叠加的物理通道已就绪。
1import pynvml 2pynvml.nvmlInit() 3handle0 = pynvml.nvmlDeviceGetHandleByIndex(0) 4handle1 = pynvml.nvmlDeviceGetHandleByIndex(1) 5# 检测 P2P 读写能力 6print("Read P2P Status:", pynvml.nvmlDeviceGetP2PStatus(handle0, handle1, pynvml.NVML_P2P_CAPS_INDEX_READ)) 7print("Write P2P Status:", pynvml.nvmlDeviceGetP2PStatus(handle0, handle1, pynvml.NVML_P2P_CAPS_INDEX_WRITE))

3. 使用 NCCL 框架实现计算带宽叠加

在日常的 AI 训练或推理中,真正的“带宽叠加”是由计算框架(如 PyTorch、TensorFlow)通过 NCCL (NVIDIA Collective Communications Library) 库来实现的。
  • 当你使用 PyTorch 的 DistributedDataParallel (DDP) 进行多卡训练时,NCCL 会自动检测底层的 PCIe P2P 拓扑。
  • 一旦检测到 P2P 可用,NCCL 会自动将梯度聚合、模型参数的通信流量走 PCIe P2P 通道,从而在不经过 CPU 的情况下实现两张 A100 的算力与带宽叠加。
  • 预期性能:在 PCIe 4.0 x16 环境下,开启 P2P 后,单张 A100 到另一张 A100 的双向带宽实测可达 54-56 GB/s 左右。

4. 进阶优化:NUMA 亲和性绑定(避免带宽争抢)

R5350 G6 是双路服务器,如果两张 A100 分别插在了两个不同 CPU 管理的 PCIe 插槽上(跨 NUMA 节点),数据通信需要经过 CPU 之间的互联通道(UPI),会导致带宽减半且延迟增加。
  • 检查拓扑:在虚拟机内运行 nvidia-smi topo -m,查看两张卡的拓扑关系。
  • 绑定 NUMA 节点:如果是跨 NUMA 节点,建议在启动训练任务时,使用 numactl 将进程绑定到其中一个 CPU 节点上,或者尽量在物理上将两张卡插在同一个 CPU 管理的插槽组内,以消除跨节点通信带来的带宽损耗。

粉丝:10人 关注:2人

R5350 G6 服务器双A100显卡带宽叠加方案

适用场景: 本文档旨在解决在H3C R5350 G6服务器上,通过PCIe直通方式安装两张A100显卡后,实现显存与计算带宽、网络通信带宽协同叠加的技术配置问题。

核心原则: 两种“带宽”需分别优化。

  1. 计算/显存带宽(卡间通信): 依赖于 NVLink 技术。

  2. 网络带宽(对外通信): 依赖于 RoCE v2 链路聚合。

重要硬件前提: 下述NVLink相关配置仅适用于SXM接口的A100显卡(如HGX A100模组)。若为PCIe接口的A100,因硬件上无NVLink链路,无法实现卡间高速互联,只能通过PCIe总线通信,带宽提升效果有限。


一、 计算带宽叠加(实现NVLink卡间高速互联)

目标: 使两张A100显卡之间的数据交换带宽达到理论最大值(最高600GB/s)。

步骤操作位置详细操作内容
1. 开启NVLink服务器BIOS进入BIOS,找到GPU相关配置(路径可能为 Advanced > GPU Configuration),将 NVLink 选项设置为 Enabled(仅SXM版可见)。
2. 优化NUMA服务器BIOS确认两张A100显卡被识别在同一个NUMA节点上,以避免跨CPU通信带来的额外延迟(可在BIOS Advanced > Socket Configuration 中查看)
3. 配置GPU直通虚拟化平台在VMware vSphere 或 KVM 中,将两张A100显卡同时直通(PCI Passthrough)给同一台虚拟机
4. 安装驱动虚拟机内部在虚拟机内安装NVIDIA官方驱动,运行 nvidia-smi 确认操作系统能同时识别两张物理显卡。
5. 配置计算框架应用代码在深度学习框架(如PyTorch、TensorFlow)中配置 NCCL (NVIDIA Collective Communications Library)后端,框架将自动调用NVLink进行高速卡间通信。

验证方法:
在虚拟机内执行以下命令,确认NVLink已正常启用:

bash
# 查看NVLink链路状态 nvidia-smi nvlink --status # 查看GPU拓扑连接图 nvidia-smi topo -m

预期结果: nvidia-smi topo -m 的输出中,两张A100卡的对应位置应明确显示 NVLink 连接标识。


二、 网络带宽叠加(实现RoCE v2链路聚合)

目标: 聚合两张A100显卡(SXM版)内置的RoCE v2高速网口带宽,提升对外数据传输能力(适用于分布式训练或高速存储访问)。

硬件要求:

  • A100 SXM版显卡内置RoCE v2网口。

  • 两张显卡的RoCE接口需通过网线分别连接至支持LACP(802.3ad)的交换机

配置步骤:

在虚拟机内部,使用Linux Bonding将两张A100的两个RoCE网口进行链路聚合。

  1. 安装Bonding工具(以Ubuntu/CentOS为例):

    bash
    # Ubuntu/Debian apt install ifenslave -y # CentOS/RHEL yum install bondutils -y
  2. 加载Bonding内核模块(模式4:802.3ad 动态链路聚合):

    bash
    modprobe bonding mode=4 miimon=100
  3. 创建Bond虚拟接口并绑定物理网口:

    bash
    ip link add bond0 type bond mode 802.3ad ip link set eth0 master bond0 # 替换eth0为第一张A100的RoCE网口名 ip link set eth1 master bond0 # 替换eth1为第二张A100的RoCE网口名 ip addr add 192.168.1.100/24 dev bond0 # 配置聚合口IP地址 ip link set bond0 up

关键提醒: 交换机侧必须将连接两张A100 RoCE网口的两个端口配置为同一链路聚合组(LACP),否则Bonding无法生效。


三、 其他关键前置配置

  1. 开启IOMMU(AMD平台必需):

    • 路径:BIOS > Advanced > AMD CBS > NBIO Common Options

    • 将 IOMMU 设置为 Enable。这是实现GPU直通(PCI Passthrough)的基础。

  2. 虚拟化平台配置(以VMware为例):

    • 选中目标虚拟机 → 编辑设置 → 添加新设备 → PCI设备,重复此操作两次,分别选择两张A100显卡。

  3. 固件升级:

    • 建议将服务器 BIOS 和 CPLD 固件升级至H3C官方发布的最新版本,以确保对最新GPU及NVLink/RoCE功能的完整兼容性。


四、 重要提醒与性能预期

  • 硬件差异巨大:

    • SXM版 A100: 支持NVLink,双卡通信带宽理论峰值可达 600GB/s

    • PCIe版 A100: 不支持NVLink,只能通过PCIe 4.0 x16总线通信(理论带宽 64GB/s)。此场景下的“带宽叠加”主要依赖软件层面的多卡并行框架(如NCCL)进行通信优化,无法实现硬件的线性叠加。

  • 性能加速比: 即便有NVLink,实际应用中的加速比也非线性。在理想场景下,8张A100卡的加速比约为7.2倍;双卡场景则通常在 1.7倍至1.9倍 之间,具体取决于应用对通信带宽的敏感度。

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明