上云无忧 > 文档中心 > 腾讯云高性能计算集群 - GPU 型实例安装 TCCL 说明
高性能计算集群
腾讯云高性能计算集群 - GPU 型实例安装 TCCL 说明

文档简介:
TCCL简介: TCCL(Tencent Collective Communication Library)是一款针对腾讯云星脉网络架构的高性能定制加速通信库。主要功能是依托星脉网络硬件架构,为 AI 大模型训练提供更高效的网络通信性能,同时具备网络故障快速感知与自愈的智能运维能力。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

TCCL简介

TCCL(Tencent Collective Communication Library)是一款针对腾讯云星脉网络架构的高性能定制加速通信库。主要功能是依托星脉网络硬件架构,为 AI 大模型训练提供更高效的网络通信性能,同时具备网络故障快速感知与自愈的智能运维能力。TCCL 基于开源的 NCCL 代码做了扩展优化,完全兼容 NCCL 的功能与使用方法。TCCL 目前支持主要特性包括:
双网口动态聚合优化,发挥 bonding 设备的性能极限。
全局 Hash 路由(Global Hash Routing),负载均衡,避免拥塞。
拓扑亲和性流量调度,最小化流量绕行。

操作场景

本文介绍如何在腾讯云环境中配置 TCCL 加速通信库,实现您在腾讯云RDMA环境中多机多卡通信的性能提升。在大模型训练场景,对比开源的 NCCL 方案,TCCL 预计约可以提升 50% 带宽利用率。

操作步骤

准备环境

1、创建 GPU 型 HCCPNV4sneGPU 型 HCCPNV4sn 高性能计算集群实例,分别支持 1.6Tbps 和 800Gbps RDMA 网络。
2、为 GPU 型实例安装 GPU 驱动nvidia-fabricmanager 服务
注意:
TCCL 运行软件环境要求 glibc 版本 2.17 以上,CUDA 版本 10.0 以上。

选择安装方式

TCCL目前支持三种使用方式安装,您可以根据需要选择适合业务场景的安装方式使用。
TCCL通信库 + 编译安装pytorch
TCCL通信库 + pytorch通信插件
NCCL插件 + 排序的IP列表
说明:
由于当前大模型训练基本都基于 Pytorch 框架,所以主要以 Pytorch 为例进行说明,
TCCL的三种接入方案对比如下表:
安装方式
方法一:编译安装 Pytorch
方法二:安装 Pytorch 通信插件
方法三:安装NCCL通信插件
使用步骤
安装 TCCL
重新编译安装 Pytorch
安装 Pytorch 通信插件
修改分布式通信后端
安装 NCCL 插件
修改启动脚本
优点
对业务代码无入侵
安装方便
安装方便
缺点
需要重新编译安装 Pytorch
对软件环境有要求
需要修改业务代码
对软件环境有要求
集群节点扩充之后,需要更新排序列表
软件环境依赖
对应 NCCL 版本 2.12
要求 glibc 版本 2.17 以上
要求 CUDA 版本 10.0 以上
当前安装包仅支持 Pytorch 1.12
要求 glibc 版本 2.17 以上 要求 CUDA 版本 10.0 以上
安装 NCCL 即可
如果您的机器资源和模型训练场景相对比较固定,推荐使用方法3,兼容不同的NCCL版本和CUDA版本,安装使用方便,不需要修改业务代码或者重新编译pytorch。
如果您的资源需要提供给不同的业务团队,或者经常有扩容的需求,推荐使用前两种方法,不需要算法人员或者调度框架刻意去感知机器的网络拓扑信息。
如果您不希望对业务代码做适配,那么可以使用方法1,只需要重新编译pytorch框架。

配置 TCCL 环境并验证

方法一: 编译安装 Pytorch
方法二:安装 Pytorch 通信插件
方法三:安装 NCCL 插件
由于社区pytorch默认采用静态方式连接NCCL通信库,所以无法通过替换共享库的方式使用TCCL。
1、安装TCCL
以 Ubuntu 20.04 为例,您可以使用以下命令安装,安装之后TCCL位于 /opt/tencent/tccl 目录。

				
# 卸载已有tccl版本和nccl插件
dpkg -r tccl && dpkg -r nccl-rdma-sharp-plugins
# 下载安装tccl v1.5版本

wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/tccl/TCCL_1.5-ubuntu.20.04.5_amd64.

deb && dpkg -i TCCL_1.5-ubuntu.20.04.5_amd64.deb && rm -f TCCL_1.5-ubuntu.20.04.5_amd64.deb

如果您使用 CentOS 或 TencentOS,参考以下步骤安装:

				
# 卸载已有tccl版本和nccl插件
rpm -e tccl && rpm -e nccl-rdma-sharp-plugins-1.0-1.x86_64
# 下载tccl v1.5版本

wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/tccl/tccl-1.5-1.tl2.x86_64.rpm &&

rpm -ivh --nodeps --force tccl-1.5-1.tl2.x86_64.rpm && rm -f tccl-1.5-1.tl2.x86_64.rpm

2、 重新编译安装 Pytorch
以下为 Pytorch 源码安装示例,详情参考官网 Pytorch 安装说明
				
#!/bin/bash
# 卸载当前版本
pip uninstall -y torch
# 下载pytorch源码
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# <!重要> 配置TCCL的安装路径
export USE_SYSTEM_NCCL=1
export NCCL_INCLUDE_DIR="/opt/tencent/tccl/include"
export NCCL_LIB_DIR="/opt/tencent/tccl/lib"
# 参考官网添加其他编译选项
# 安装开发环境
python setup.py develop
3、 配置TCCL环境变量
				
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
export NCCL_PXN_DISABLE=0
export TCCL_TOPO_AFFINITY=4
注意:
需要通过TCCL_TOPO_AFFINITY=4开启网络拓扑感知特性。
4、 验证 Pytorch
运行单机多卡或者多机多卡训练过程中有如下打印(export NCCL_DEBUG=INFO):

5、 验证nccl-tests
运行 nccl-tests 之前需要 export 对应的 TCCL路径:
				
export LD_LIBRARY_PATH=/opt/tencent/tccl/lib:$LD_LIBRARY_PATH
6、 软件版本支持
目前 TCCL 对应 NCCL 版本 2.12 ,要求 glibc 版本 2.17 以上,CUDA 版本 10.0 以上。其他 CUDA 版本支持请联系您的售前经理获取支持。

相似文档
  • 功能简介: 高性能计算集群具备在 RDMA 网络环境下实现毫秒级监控的能力,这使得您能够实时监测和分析瞬时的网络数据,帮助您深入分析网络流量模式,进行网络优化和性能提升,为业务提供有力支持。
  • 背景信息: 在当前人工智能趋势下,自然语言模型越大则提供的准确性越高。但由于成本、时间及代码无优化集成等问题,导致较大的模型难以训练。目前 GPT-3 的模型参数已经达到175B,模型参数的增长速度远超 GPU 显存的增长速度,数据并行和模型并行等传统优化方法在超大模型和过千亿参数面前也显现出了诸多瓶颈。
  • 本文介绍在裸金属云服务器 HCCG5v 实例上训练 TI-Deepspeed 大模型的具体步骤。 示例操作环境: 本文中 TI-Deepspeed 大模型训练操作环境说明如下: 硬件平台:8台 HCCG5v 实例高性能计算集群、 操作系统版本:CentOS 7.6、 GPU 驱动版本:418.67、 CUDA 版本:10.1、 文件存储 CFS:创建文件系统及挂载点。
  • Q:什么是高性能计算集群? A:高性能计算集群(Tencent Hyper Computing Cluster,THCC)以高性能云服务器为节点,通过 RDMA(Remote Direct Memory Access)互联,提供了高带宽和极低延迟的网络服务,大幅提升网络性能,能满足大规模高性能计算、人工智能、大数据推荐等应用的并行计算需求。
  • 为使用腾讯云高性能计算集群服务(以下简称“本服务”),您应当阅读并遵守《高性能计算集群服务等级协议》(以下简称“本协议”或 “SLA”),以及《腾讯云服务协议》。本协议包含本服务的术语和定义、服务可用性/服务成功率等级指标、赔偿方案、免责条款等相关内容。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部