火山引擎GPU云服务器使用指南-使用NCCL Tuner Plugin优化NCCL通信性能

axin 2025-04-23 8人围观 ,发现0个评论 显卡服务器租用GPU服务器租用远程电脑租用独立显卡服务器GPU云服务器租用火山引擎GPU云服务器GPU云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>

NCCL Tuner Plugin是用于优化NCCL性能的插件,本文介绍如何在gni3cg实例中通过Tuner Plugin优化NCCL通信性能。

关键组件

关键组件
说明
实例
  • 实例规格:NCCL Tuner Plugin支持以下8卡规格的机型在单机状态下进行allreduce通信。规格详情请参见GPU计算型,该类实例正在邀测中,如需使用,请联系客户经理申请。

    • ecs.gni3cl.45xlarge

    • ecs.gni3cg.45xlarge

    • ecs.gni3cgd.45xlarge

  • GPU驱动:用来驱动NVIDIA GPU卡的程序。本文以535.154.05版本为例。

  • CUDA工具包:使GPU能够解决复杂计算问题的计算平台。本文以CUDA 12.2为例。

NCCL
NCCL(Nvidia Collective Communication Library)是NVIDIA的集合通信库,支持安装在单个节点或多个节点的大量GPU卡上,实现多个GPU的快速通信。它提供了一系列高度优化的通信原语,如allreduce(全规约)、reduce-scatter(分散规约)、allgather(全收集)等,这些原语能够帮助并行计算任务在多个GPU间高效地同步和交换数据。
注意
使用NCCL Tuner Plugin必须确保NCCL版本不低于2.19,本文以NCCL2.20.5和 2.21.5为例。
NCCL Tuner Plugin
用于优化NCCL性能的插件。
Git
分布式版本控制系统。本文使用Git 2.25.1版本。
OpenMPI
OpenMPI是一个开源的 Message Passing Interface 实现,是一种高性能消息传递库,能够结合整个高性能计算社区的专业知识、技术和资源,建立现有的最佳MPI库。OpenMPI在系统和软件供应商、应用开发者和计算机科学研究人员中有广泛应用。
NCCL Tests
NCCL Tests是一个测试工具集,可以用来评估NCCL的运行性能和正确性。

准备环境

  • 已拥有一台GPU计算型实例,本文所示配置如下:

    • 规格:ecs.gni3cg.45xlarge

    • 镜像:Ubuntu 20.04

    • GPU驱动版本:535.154.05

  • 执行nvcc -V 命令查看CUDA版本。若未安装,请安装CUDA。

  • 执行python3 --version命令查看Python版本。若未安装,请安装Python。

操作步骤

步骤一:安装NCCL和NCCL Tuner Plugin

  1. 登录实例。

  1. 安装NCCL和NCCL Tuner Plugin。

    • 方式一:执行以下命令,直接安装libnccl.so.2.20.5和libnccl-tuner.so。

#!/bin/bashset -exwget -c https://iaas-perf-beijing.tos-cn-beijing.volces.com/nccl/plugin/libnccl-tuner.somv libnccl-tuner.so /usr/local/libwget -c https://iaas-perf-beijing.tos-cn-beijing.volces.com/nccl/libnccl.so.2.20.5mv libnccl.so.2.20.5 /usr/local/lib/python3.10/dist-packages/nvidia/nccl/libln -sf /usr/local/lib/python3.10/dist-packages/nvidia/nccl/lib/libnccl.so.2.20.5 /usr/local/lib/python3.10/dist-packages/nvidia/nccl/lib/libnccl.so.2
    • 方式二:如需安装其他版本的NCCL,请参考以下操作,本文以2.21.5为例。

      1. 执行以下命令,安装libnccl-tuner.so。

wget -c https://iaas-perf-beijing.tos-cn-beijing.volces.com/nccl/plugin/libnccl-tuner.somv libnccl-tuner.so /usr/local/lib
      1. 安装Git。

apt updateapt -y install git
执行git --version命令,回显如下,表示安装成功。

      1. 执行以下命令,安装NCCL并进行编译。

git clone -b v2.21.5-1 https://github.com/NVIDIA/ncclcd ncclmake -j src.buildmake install

步骤二:安装OpenMPI

  1. 执行以下命令,安装OpenMPI。

sudo apt updatesudo apt -y install openmpi-bin
  1. 检查是否正常安装。

mpiexec --version
回显如下,表示已正常安装。

步骤三:使用NCCL Tuner Plugin

安装成功后,您可以直接使用NCCL Tuner Plugin的通信优化功能,无需再进行其他配置。以下示例通过NCCL_Tests展示NCCL Tuner Plugin在单机8卡实例中,采用allreduce通信算法进行加速的效果。
  1. 在NVIDIA nccl-tests中下载nccl-tests软件包。

git clone https://github.com/NVIDIA/nccl-tests.git
  1. 执行以下命令,编译nccl-tests。

cd nccl-testsmake
  1. 执行以下脚本加载优化算法。

mpirun --allow-run-as-root -np 8 -x NCCL_DEBUG=INFO -x NCCL_P2P_LEVEL=SYS -x NCCL_TUNER_PLUGIN=/usr/local/lib/libnccl-tuner.so ./build/all_reduce_perf -b 8 -e 1G -f 2 -g 1
上述命令中同时设置了NCCL_DEBUG=INFO,在NCCL日志中打印出如下信息时,表明TUNER_PLUGIN加载成功。

性能示例

gni3cg.45xlarge实例使用不同版本的NCCL以及NCCL Tunner Plugin进行allreduce时的性能数据如下表所示。
说明
本文所展示的性能仅供参考,实际情况会因硬件规格、系统设置和应用场景的不同而有所变化。
INSTANCE_TYPE
gni3cg
data_size (B)
nccl 2.18.1
nccl 2.19.3
nccl 2.19.3 Tunner
8
0
0
0
16
0
0
0
32
0
0
0
64
0.01
0.01
0.01
128
0.02
0.02
0.02
256
0.03
0.03
0.03
512
0.07
0.07
0.07
1024
0.13
0.12
0.130
2048
0.23
0.23
0.230
4096
0.43
0.44
0.440
8192
0.86
0.86
0.860
16384
1.67
1.67
1.660
32768
3.01
3.05
3.050
65536
5.62
5.61
5.650
131072
2.99
2.81
8.220
262144
4.7
4.55
8.970
524288
7.39
7.12
14.260
1048576
12.91
12.6
16.630
2097152
17.27
17.12
18.220
4194304
20.24
20.07
20.020
8388608
21.14
20.96
21.090
16777216
20.1
20.08
20.080
33554432
20.02
20.04
20.060
67108864
20.11
20.11
20.100
134217728
20.16
20.17
20.170
268435456
20.21
20.21
20.240
536870912
20.27
20.25
20.280
1073741824
20.32
20.31
20.320


火山引擎GPU云服务器使用指南-HPC搭建Slurm计算集群

  • 火山引擎GPU云服务器使用指南-HPC配置NCCL

    火山引擎GPU云服务器使用指南-HPC配置NCCL

  • 火山引擎GPU云服务器指南-搭建AIGC能力(Windows)

    火山引擎GPU云服务器指南-搭建AIGC能力(Windows)

  • 火山引擎GPU云服务器指南-搭建AIGC能力(Linux)

    火山引擎GPU云服务器指南-搭建AIGC能力(Linux)

  • 火山引擎GPU云服务器指南-部署Pytorch应用

    火山引擎GPU云服务器指南-部署Pytorch应用

  • 火山引擎GPU云服务器指南-部署NGC环境

    火山引擎GPU云服务器指南-部署NGC环境

  • 794文章数 0评论数
    热门文章
    最近发表

    火山引擎GPU云服务器使用指南-HPC搭建Slurm计算集群

    2025-04-23
  • 火山引擎GPU云服务器使用指南-HPC配置NCCL
  • 标签列表
    请关注微信公众号
    微信二维码
    不容错过
    Powered By TOPYUN 云产品资讯