首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >H800_3.2T RDMA测试指导文档

H800_3.2T RDMA测试指导文档

原创
作者头像
Yellowsun
修改于 2024-10-22 13:02:22
修改于 2024-10-22 13:02:22
6040
举报

一、 购机选择正确的共享镜像

从"共享镜像"标签中选择“img-ixkhtmde H800_CVM_GPU镜像”。

(如果使用TKE,请选择:"img-2hnbdzbc H800-CVM-TKE-RELEASE")

该OS镜像预装了如下软件:

  1. 操作系统:Tencent Linux 2.4 (与CentOS 7.9同源, 使用yum安装所需的包)
  2. 内核:5.4.119-19.0009.28 (优化内核)
  3. RDMA网卡驱动: MLNX_OFED_LINUX-5.8-2.0.3.0
  4. GPU驱动: 535.54.03 (包括GDR需要的nvidia_peermem)
  5. docker 20.10.21 + nvidia-docker2 2.13.0-1
  6. cuda版本:12.0; cudnn版本:8.8.0

备注:如果不使用此OS镜像,镜像内需要增加一些补丁才能正常使用

  1. GPU驱动、RDMA驱动、nvidia_peermem
  2. Linux内核增加ARP双发特性,支持RDMA的双发(提供内核patch)
  3. RDMA bond网络的反向路由检查
  4. bond配置脚本,rdma网卡名不建议ethX格式,会和弹性网卡顺序乱。

二、 系统检查

1、 检查网卡设备

命令:

代码语言:txt
AI代码解释
复制
ibdev2netdev

2、 检查GPU驱动和nvlink状态

命令:

代码语言:txt
AI代码解释
复制
nvidia-smi nvlink -s

如果出现inactive,执行如下命令,重启fabric manager:

代码语言:txt
AI代码解释
复制
systemctl enable nvidia-fabricmanager.service && systemctl restart nvidia-fabricmanager.service

3、 检查GPU nvlink p2p 可读写状态

命令:

代码语言:txt
AI代码解释
复制
nvidia-smi topo -p2p r

备注:若存在GPU间的状态是NS,如 图GPU5与GPU6之间:(该场景是nvidia bug,nv正在定位修复中;该问题目前只在驱动第一次加载时可能发生)

执行如下命令,reset GPU:

代码语言:txt
AI代码解释
复制
for i in {0..7}; do  fuser -k /dev/nvidia$i; nvidia-smi -r -i $i ; done

然后再次执行检查命令,确认所有状态都是OK

4、 检查GDR驱动是否已经加载

命令:

代码语言:txt
AI代码解释
复制
lsmod | grep nvidia_peermem

如果没有加载,执行如下命令:

代码语言:txt
AI代码解释
复制
modprobe nvidia-peermem && echo "nvidia-peermem" >> /etc/modules-load.d/nvpeermem.conf

5、 RDMA的bond ip地址检查

命令:

代码语言:txt
AI代码解释
复制
ifconfig

三、 性能测试

1. RDMA 性能测试

测试两机之间极限带宽和延时:带宽测试两机bond之间互打perftest write流量,延时测试同LA及跨LA情况下bond之间send延时。

带宽测试server:

代码语言:txt
AI代码解释
复制
taskset -c 10,11 ib_write_bw -d mlx5_bond_0 -x 3 -F --report_gbits -p 18500 -D 2 -q 16 --run_infinitely
taskset -c 12,13 ib_write_bw -d mlx5_bond_1 -x 3 -F --report_gbits -p 18501 -D 2 -q 16 --run_infinitely
taskset -c 14,15 ib_write_bw -d mlx5_bond_2 -x 3 -F --report_gbits -p 18502 -D 2 -q 16 --run_infinitely
taskset -c 16,17 ib_write_bw -d mlx5_bond_3 -x 3 -F --report_gbits -p 18503 -D 2 -q 16 --run_infinitely
taskset -c 100,101 ib_write_bw -d mlx5_bond_4 -x 3 -F --report_gbits -p 18504 -D 2 -q 16 --run_infinitely
taskset -c 102,103 ib_write_bw -d mlx5_bond_5 -x 3 -F --report_gbits -p 18505 -D 2 -q 16 --run_infinitely
taskset -c 104,105 ib_write_bw -d mlx5_bond_6 -x 3 -F --report_gbits -p 18506 -D 2 -q 16 --run_infinitely
taskset -c 106,107 ib_write_bw -d mlx5_bond_7 -x 3 -F --report_gbits -p 18507 -D 2 -q 16 --run_infinitely

带宽测试client:

代码语言:txt
AI代码解释
复制
taskset -c 10,11 ib_write_bw -d mlx5_bond_0 -x 3 -F --report_gbits -p 18500 -D 2 -q 16 --run_infinitely 30.139.10.138
taskset -c 12,13 ib_write_bw -d mlx5_bond_1 -x 3 -F --report_gbits -p 18501 -D 2 -q 16 --run_infinitely 30.139.10.246
taskset -c 14,15 ib_write_bw -d mlx5_bond_2 -x 3 -F --report_gbits -p 18502 -D 2 -q 16 --run_infinitely 30.139.11.118
taskset -c 16,17 ib_write_bw -d mlx5_bond_3 -x 3 -F --report_gbits -p 18503 -D 2 -q 16 --run_infinitely 30.139.11.138
taskset -c 100,101 ib_write_bw -d mlx5_bond_4 -x 3 -F --report_gbits -p 18504 -D 2 -q 16 --run_infinitely 30.139.11.170
taskset -c 102,103 ib_write_bw -d mlx5_bond_5 -x 3 -F --report_gbits -p 18505 -D 2 -q 16 --run_infinitely 30.139.11.238
taskset -c 104,105 ib_write_bw -d mlx5_bond_6 -x 3 -F --report_gbits -p 18506 -D 2 -q 16 --run_infinitely 30.139.11.50
taskset -c 106,107 ib_write_bw -d mlx5_bond_7 -x 3 -F --report_gbits -p 18507 -D 2 -q 16 --run_infinitely 30.139.11.98

● 其中client侧需要指定server端IP, taskset绑核需要与网卡numa node一致, 并且由于pcie switch限制,若同一pcie switch上插了多张卡(比如bond0和bond1的网卡插在同一pcie switch上,则bond0和bond1需要错开测试),网卡需要错开pcie switch验证, 例如bond0/2/4/6同时测,bond1/3/5/7同时测;若每个bond的网卡有独立的pcie switch,可以同时并发测8个bond,达到3.2T带宽(pcie switch分布可以通过lspci -tv命令查询)

● 由于单个QP只能使用一个端口,所以需要配置多个QP端口将bond带宽打满

延时测试server:

代码语言:txt
AI代码解释
复制
ib_send_lat -d mlx5_bond_0 -a -F

延时测试client:

代码语言:txt
AI代码解释
复制
ib_send_lat -d mlx5_bond_0 -a -F 30.7.64.146

● 其中client侧需要指定server端IP

2. NCCL benchmark测试

2.1 启动docker测试镜像

代码语言:txt
AI代码解释
复制
// 下载并启动测试镜像
docker run \
    -itd \
    --gpus all \
    --privileged --cap-add=IPC_LOCK \
    --ulimit memlock=-1 --ulimit stack=67108864 \
    -v /root:/mnt \
    --net=host \
    --ipc=host \
    --name=nccl haihub.cn/tencent/qcloud/taco-train/cuda12.1-ofed5.8-nccl2.18.3-1.6:latest
// 进入容器当中
docker exec -it nccl bash

● 注意:docker的启动参数里面必须包含:"--privileged", "--net=host"

该测试docker包含的软件版本如下:

代码语言:txt
AI代码解释
复制
OS:Ubuntu 20.04.5 LTS
python:3.8.10
CUDA toolkit: V12.1.66
ofed: MLNX_OFED_LINUX-5.8-2.0.3.0
nccl: 2.18.3 (包含tencent sharp fix)
nccl-rdma-sharp-plugins: 1.2(包含tencent网络配置优化)

2.2 机器列表排序

● 进入任意一台机器上容器的如下目录(保证所有机器都启动了2.1节中的容器镜像)

代码语言:txt
AI代码解释
复制
cd workspace/tools/

● 将要参与nccl测试机器的ENI ip(通过ifconfig eth0获取)存放到ip_eth0.txt 中,例如:

代码语言:txt
AI代码解释
复制
cat > ip_eth0.txt << EOF
10.0.0.1
10.0.0.10
10.0.0.8
10.0.0.9
EOF

● 排序(基于网络拓扑),

代码语言:txt
AI代码解释
复制
bash get_rdma_order_by_ip.sh ip_eth0.txt

排序后的列表保存在当前目录的hostfile.txt

代码语言:txt
AI代码解释
复制
10.0.0.10 
10.0.0.8
10.0.0.9
10.0.0.1

● 上述清单中的第一个ip(10.0.0.10)将作为master节点,进入master机器的容器

● 将排序后的ip list写入到/workspace/run_nccl_tests.sh变量<ip_list>,例如:

代码语言:txt
AI代码解释
复制
declare -a ip_list=(
10.0.0.10
10.0.0.8
10.0.0.9
10.0.0.1
)

注意:为什么需要排序列表?

参考:计算加速套件 TACO Kit TCCL 使用说明-TACO Train AI 训练加速引擎-文档中心-腾讯云

2.3 启动测试nccl测试(在master节点上执行)

代码语言:txt
AI代码解释
复制
// 运行4机32卡4G数据包的AllReduce
bash run_nccl_test.sh 0 4G 32

3. AI模型测试

3.1 启动docker测试镜像

代码语言:txt
AI代码解释
复制
// 下载并启动测试镜像
docker run \
    -itd \
    --gpus all \
    --privileged --cap-add=IPC_LOCK \
    --ulimit memlock=-1 --ulimit stack=67108864 \
    -v /root:/mnt \
    --net=host \
    --ipc=host \
    --name=ai haihub.cn/tencent/taco-train/cuda12.3-ofed5.8-nccl2.19.3-torch2.2-2.3:latest
// 进入容器当中
docker exec -it ai bash

● 注意:docker的启动参数里面必须包含:"--privileged", "--net=host"

该测试docker包含的软件版本如下:

代码语言:txt
AI代码解释
复制
OS:Ubuntu 20.04.5 LTS
python:3.8.10
CUDA toolkit: V12.1.66
cuDNN: 8.9.0
ofed: MLNX_OFED_LINUX-5.8-2.0.3.0
nccl: 2.18.3 (包含tencent sharp fix)
nccl-rdma-sharp-plugins: 1.2(包含tencent网络配置优化)
torch:2.1.0a0+fe05266
deepseed: 0.9.2
transformers: 4.28.1
flash-attn: 2.0.4
xformers: 0.0.21+320b5ad.d20230910
megatron-lm: 30a2791@9/1/2023
gpt-neox: 43ea51c@8/28/2023

3.2 LLaMA

模型实现:decapoda-research/llama-7b-hf at main

代码语言:txtx
AI代码解释
复制
cd /workspace/deepspeed/hf-llama
# bash start.sh <master_addr> <node_num> <rank> <model_size>
#
# run LLAMA 7B on two nodes

#node0
bash start.sh 10.0.0.6 2 0 7

#node1
bash start.sh 10.0.0.6 2 1 7
# !!如果修改start.sh中的配置,也需要同步到其他节点

3.3 BLOOM

模型实现:https://huggingface.co/bigscience/bloom-7b1

代码语言:txt
AI代码解释
复制
cd /workspace/deepspeed/hf-bloom-7b1

# bash start.sh <master_addr> <node_num> <rank> 

# run BLOOM 7B1 on two nodes

#node0
bash start.sh 10.0.0.6 2 0

#node1
bash start.sh 10.0.0.6 2 1

# !!如果修改start.sh中的配置,也需要同步到其他节点

3.4 Megatron-LM

代码语言:txt
AI代码解释
复制
cd /workspace/Megatron-LM && bash download_dataset.sh
# bash start.sh <master_addr> <node_num> <rank> <model_size>

# run GPT 7B on two nodes

#node0
bash start.sh 10.0.0.6 2 0 7

#node1
bash start.sh 10.0.0.6 2 1 7

# !!如果修改start.sh中的配置,也需要同步到其他节点

3.5 gpt-neox

代码语言:txt
AI代码解释
复制
cd /workspace/deepspeed/gpt-neox && bash download_dataset.sh

# 修改./hostfile,添加训练节点IP

# run gpt-neox llama 7B
bash start.sh

3.6 baichuan2

代码语言:txt
AI代码解释
复制
cd /workspace/deepspeed/Baichuan2/fine-tune && bash download_model.sh

# fine-tuning baichuan2-7B-base with lora
bash start.sh <master_ip>

3.7 chatglm2-6B

代码语言:txt
AI代码解释
复制
cd /workspace/deepspeed/ChatGLM2-6B/ptuning && bash download_model.sh

# fine-tuning chatglm2-6b with p-tuningV2
bash start.sh <master_ip>

四、性能结果

1. 测试环境信息

机型

HCCPNV5v

CPU

Intel SPR CPU*2

GPU

SXM5 H800*8

网卡

200G CX7 (2P) RDMA*8

存储

NVMe-6.4T Gen4*8

2. RDMA

带宽write:

延时同LA:

延时跨LA:

3. NCCL benchmark

8卡到256卡的AllReduce测试数据如下图。测试环境基于上述docker,其包含的软件信息为:

● CUDA: 12.2

● NCCL: 2.18.3(Tencent Cloud修改后版本)

4. AI模型

五、自定义容器镜像安装指引

1. 用户态RDMA驱动

如果使用自定义的业务镜像,请在镜像当中安装用户态的RDMA驱动:

代码语言:txt
AI代码解释
复制
//检查主机上OFED版本
ofed_info -s // MLNX_OFED_LINUX-5.8-2.0.3.0

// 进入docker
docker exec -it poc bash

// 检查docker的os版本
cat /etc/os-release  

// 下载对应OS版本和ofed版本的安装包(这里是centos7.9和5.8-2.0.3.0,参考手动下载) 
tar xvf MLNX_OFED_LINUX-5.8-2.0.3.0-rhel7.9-x86_64.tgz
cd MLNX_OFED_LINUX-5.8-2.0.3.0-rhel7.9-x86_64.tgz

// docker中安装RDMA用户台驱动
./mlnxofedinstall --user-space-only --without-fw-update --force

手动下载对应版本的OFED包并上传到docker中:

链接如下:https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

安装成功后输出如下:

2. NCCL插件安装和环境变量

2.1 安装高性能NCCL插件

代码语言:txt
AI代码解释
复制
// Ubuntu 20.04
dpkg -r nccl-rdma-sharp-plugins
wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/nccl/nccl-rdma-sharp-plugins_1.2_amd64.deb && dpkg -i nccl-rdma-sharp-plugins_1.2_amd64.deb

// TencentOS Server 2.4
rpm -e nccl-rdma-sharp-plugins
wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/nccl/nccl-rdma-sharp-plugins-1.2-1.x86_64.rpm && rpm -ivh --nodeps --force nccl-rdma-sharp-plugins-1.2-1.x86_64.rpm

2.2 配置NCCL环境变量

代码语言:txt
AI代码解释
复制
export NCCL_DEBUG=INFO
export NCCL_SOCKET_IFNAME=eth0
export NCCL_IB_GID_INDEX=3
export NCCL_IB_DISABLE=0
export NCCL_IB_HCA=mlx5_bond_0,mlx5_bond_1,mlx5_bond_2,mlx5_bond_3,mlx5_bond_4,mlx5_bond_5,mlx5_bond_6,mlx5_bond_7
export NCCL_NET_GDR_LEVEL=2
export NCCL_IB_QPS_PER_CONNECTION=4
export NCCL_IB_TC=160
export NCCL_IB_TIMEOUT=22

2.3 确认插件被加载

如果想卸载NCCL插件,请执行如下命令:

代码语言:txt
AI代码解释
复制
// Ubuntu 20.04
dpkg -r nccl-rdma-sharp-plugins

// TencentOS Server 2.4 
rpm -e nccl-rdma-sharp-plugins

3. 集群环境一致性检查

通过执行如下脚本检查集群的软件版本配置是否一致

代码语言:txt
AI代码解释
复制
wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/perftest/cluster_check.py
# host.txt包含所有节点的IPs,一行一个
python cluster_check.py -f host.txt

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
A800_1.6T RDMA实例测试指导文档
从"共享镜像"标签中选择“A800_535_TL24_CVM_RELEASE img-haurw7f3”。
Yellowsun
2024/10/11
4720
分布式存储_高性能RDMA网络_架构设计_性能调优参考_网卡排查命令_笔记
博客: https://logread.cn | https://blog.csdn.net/ssbandjl | https://cloud.tencent.com/developer/user/5060293/articles
晓兵
2023/11/03
5.1K0
分布式存储_高性能RDMA网络_架构设计_性能调优参考_网卡排查命令_笔记
RDMA - GDR GPU Direct RDMA快速入门1
NVIDIA GPUDirect 是一系列技术, 用于增强 GPU间(P2P)或GPU与第三方设备(RDMA)间的数据移动和访问, 无论您是在探索海量数据、研究科学问题、训练神经网络还是为金融市场建模,您都需要一个具有最高数据吞吐量的计算平台。GPU 的数据处理速度比 CPU 快得多,随着 GPU 计算能力的提高,对 IO 带宽的需求也随之增加。NVIDIA GPUDirect®是Magnum IO的一部分,可增强 NVIDIA 数据中心 GPU 的数据移动和访问。使用 GPUDirect,网络适配器和存储驱动器可以直接读取和写入 GPU 内存,从而消除不必要的内存复制、减少 CPU 开销和延迟,从而显着提高性能。这些技术(包括 GPUDirect Storage(GDS)、GPUDirect RDMA(GDR)、GPUDirect 点对点 (P2P) 和 GPUDirect Video)通过一套全面的 API 呈现
晓兵
2025/03/30
1.6K0
RDMA - GDR GPU Direct RDMA快速入门1
【教程】检查RDMA网卡状态和测试带宽 | 附测试脚本
由于是mlx5 RoCE 网卡(ConnectX-4 或以上),active_speed = 25 Gbps × 4x,因此理论带宽为:25 × 4 = 100 Gbps(最大可用)。
小锋学长生活大爆炸
2025/04/18
6990
RDMA MellanoxCX-4 网卡RoCE/IB带宽测试
本文仅用于分享记录学习RDMA/RoCE v2网络协议的一些基础内容。如有错误,欢迎评论区留言。
bingwang
2024/05/30
3.7K0
RDMA - GDR GPU Direct RDMA快速入门2
https://hpcadvisorycouncil.atlassian.net/wiki/spaces/HPCWORKS/pages/2791440385/GPUDirect+Benchmarking
晓兵
2025/03/30
9800
RDMA - GDR GPU Direct RDMA快速入门2
Linux 环境下 IB(InfiniBand) 组网认知
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2024/04/26
2.6K0
Linux 环境下 IB(InfiniBand) 组网认知
优化 RDMA 代码的建议和技巧-rdma性能优化技巧-避坑指南-RDMA资源
DMA 代表直接内存访问。这意味着应用程序可以在 CPU 干预的情况下直接访问(读/写)主机内存。如果您在主机之间执行此操作,它将成为远程直接内存访问 (RDMA)
晓兵
2023/12/19
2.2K2
优化 RDMA 代码的建议和技巧-rdma性能优化技巧-避坑指南-RDMA资源
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制_动态连接等详解-一文入门RDMA和RoCE有损无损
随着互联网, 人工智能等兴起, 跨机通信对带宽和时延都提出了更高的要求, RDMA技术也不断迭代演进, 如: RoCE(RDMA融合以太网)协议, 从RoCEv1 -> RoCEv2, 以及IB协议, Mellanox的RDMA网卡cx4, cx5, cx6/cx6DX, cx7等, 本文主要基于CX5和CX6DX对RoCE技术进行简介, 一文入门RDMA和RoCE有损及无损关键技术
晓兵
2023/07/23
10.7K9
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制_动态连接等详解-一文入门RDMA和RoCE有损无损
Linux RDMA RXE/SoftRoCE 软件RoCE-内核驱动源码
rdma_rxe 内核模块提供 RoCEv2 协议的软件实现。 RoCEv2 协议是存在于 UDP/IPv4 或 UDP/IPv6 之上的 RDMA 传输协议。 InfiniBand (IB) 基本传输标头 (BTH) 封装在 UDP 数据包中。 创建 RXE 实例后,通过 RXE 进行通信与通过任何 OFED 兼容的 Infiniband HCA 进行通信相同,尽管在某些情况下会涉及寻址问题。 特别是,虽然 GRH 标头的使用在 IB 子网中是可选的,但对于 RoCE 来说是强制性的。 基于 IB 动词编写的动词应用程序应该可以无缝工作,但它们需要在创建地址向量时提供 GRH 信息。 修改库和驱动程序以提供硬件所需的从 GID 到 MAC 地址的映射
晓兵
2024/04/10
2.7K2
Linux RDMA RXE/SoftRoCE 软件RoCE-内核驱动源码
一文梳理:如何构建并优化GPU云算力中心?
目前最常见的AI算力中心部署的GPU集群大小为 2048、1024、512 和 256,且部署成本随 GPU 数量线性增长。本文将以相对折中的1024 GPU卡(H100)的规模为例展开分析。
星融元Asterfusion
2024/10/24
1.1K0
一文梳理:如何构建并优化GPU云算力中心?
统一通信 X(UCX) 实现高性能便携式网络加速-UCX入门教程HOTI2022
官方文档: https://openucx.readthedocs.io/en/master/
晓兵
2023/10/10
4.2K0
统一通信 X(UCX) 实现高性能便携式网络加速-UCX入门教程HOTI2022
RDMA-Perftest中发送带宽测试时NVIDIA_MLX提交WR新接口调用栈分析
https://github.com/linux-rdma/rdma-core/commit/0d6f52347438379c905614b1bc32f824cf0cfc36
晓兵
2025/02/23
3490
RDMA-Perftest中发送带宽测试时NVIDIA_MLX提交WR新接口调用栈分析
DAOS分布式存储_libfabric_高性能RPC_rdma网络_笔记
博客: https://logread.cn | https://blog.csdn.net/ssbandjl | https://cloud.tencent.com/developer/user/5060293/articles
晓兵
2023/11/03
7410
DAOS分布式存储_libfabric_高性能RPC_rdma网络_笔记
Intel E810/ICE DPU RDMA 及MLX中断原理分析2(CE/AE)
接上文: https://cloud.tencent.com/developer/article/2472554
晓兵
2025/03/29
1870
Intel E810/ICE DPU RDMA 及MLX中断原理分析2(CE/AE)
RDMA-Linux-infiniband-RDMA子系统-源码分析-IB架构-IB设备初始化和注册-内核uverbs接口注册-GID缓存机制
该驱动程序通过 Linux 网络堆栈实现 InfiniBand RDMA 传输。 它使具有标准以太网适配器的系统能够与 RoCE 适配器或运行 RXE 驱动程序的另一个系统进行互操作。 有关 InfiniBand 和 RoCE 的文档可以从 www.infinibandta.org 和 www.openfabrics.org 下载。 (另请参见 siw,它是 iWARP 的类似软件驱动程序。)该驱动程序分为两层,一层与 Linux RDMA 堆栈接口,并实现内核或用户空间动词 API。 用户空间动词 API 需要一个名为 librxe 的支持库,该支持库由通用用户空间动词 API libibverbs 加载。 另一层与第 3 层的 Linux 网络堆栈接口。要配置和使用 soft-RoCE 驱动程序,请使用“配置 Soft-RoCE (RXE)”部分下的以下 wiki 页面:https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
晓兵
2024/04/19
2.1K0
RDMA-Linux-infiniband-RDMA子系统-源码分析-IB架构-IB设备初始化和注册-内核uverbs接口注册-GID缓存机制
GPU 分布式 AI 训练加速引擎 TACO-Training 容器方案首发!
背景 随着 AI 模型规模的越来越大,训练数据的越来越多,用户对模型的迭代效率也要求越来越高,单个 GPU 的算力显然无法满足大部分业务场景,使用单机多卡或多机多卡训练成为趋势。单机多卡训练场景的参数同步借助目前 NVIDIA NVLINK 技术已经得到了很好地解决,而多机多卡场景由于对网络通信的强依赖就没有那么简单。 目前网卡厂商提供的 RoCE 等 RDMA 技术,使得多机通信效率大幅提升,但是如何在25G或 50G VPC 网络环境下提升分布式训练系统的通信效率,仍然是目前公有云厂商亟需解决的
腾讯云计算产品团队
2021/11/26
1.5K0
UCX-UCT统一通信传输层3-服务端和客户端调用栈详解(及相关)_源码解读
https://github.com/ssbandjl/ucx/blob/master/category/uct_readme
晓兵
2023/10/30
1.4K0
UCX-UCT统一通信传输层3-服务端和客户端调用栈详解(及相关)_源码解读
GPU 分布式 AI 训练加速引擎 TACO-Training 容器方案首发!
冯克环,腾讯云异构计算研发工程师,专注于云上 AI 训练加速相关技术,对 GPU 虚拟化、GPU 训练加速有深厚的积累,目前负责腾讯云 AI 训练加速相关技术的研发以及性能优化工作。 张锐,腾讯云网络虚拟化研发工程师,在之前的工作中专注于 AI 训练网络优化方面的工作,在 RDMA、GPU 通信优化等方面有较多经验,目前专注于做云上AI训练通信优化方面的工作。 背景 随着 AI 模型规模的越来越大,训练数据的越来越多,用户对模型的迭代效率也要求越来越高,单个 GPU 的算力显然无法满足大部分业务场景,使
腾讯云原生
2021/11/26
1.3K0
分布式深度学习最佳入门(踩坑)指南
本文主要介绍了分布式深度学习的各框架以及一些分布式深度学习训练中的常见问题,如:docker及ssh环境问题、nccl多机通信问题等。
计算机视觉
2021/01/14
3.6K0
分布式深度学习最佳入门(踩坑)指南
推荐阅读
相关推荐
A800_1.6T RDMA实例测试指导文档
更多 >
LV.1
腾讯云产品经理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档