NCCL源码安装


很多情况下,使用深度学习多GPU训练需要使用nccl,这里介绍最简单的待安装机器无法联网的安装方法,且安装包与系统版本无关,只与cuda版本有关,为支持paddlepaddle框架的多gpu使用,需要安装nccl。更多内容参见nccl 官网

1、下载

根据需要选择具体的架构,我们这里先x86,接着选与系统无关的那个:
在这里插入图片描述

下载好的文件是nccl_2.8.4-1+cuda11.2_x86_64.txz 这样一个以txz结尾的文件,曾经试过当cuda升级到11.7使用这个11.2的包依然没有报错,不过觉的还是下载个对应的比较好。

2、解压

cd /usr/local
tar xvf nccl_2.8.4-1+cuda11.2_x86_64.txz

解压后,里边两个文件夹 include 和 lib。实际解压到任意位置都是可以的,但做为安装可以放到/usr/local下。

3、填加环境变量

vim ~/.bashrc

在最后加上:


export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/where_your_path/nccl_2.8.4-1+cuda11.2_x86_64/include/:/where_your_path/nccl_2.8.4-1+cuda11.2_x86_64/lib

即可。
如果要安装给所有人用,可以将nccl_2.8.4-1+cuda11.2_x86_64文件夹拷到/usr/local下。
安装好以后,conda 环境,virtualenv等环境下都是可以用的。要注意的是,conda环境中有自己的cuda和cudnn,选择nccl对应版本时要按照conda环境中的cuda版本来进行处理
对于paddle可以输入:

import paddle
paddle.utils.run_check()

会返回所有可用gpu数量。

4、Conda环境变量添加

我们要以单独给指定的某一个conda环境添加环境变量:

cd /path/anaconda3/envs/yourenv
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

接着在activate.d/env_vars.sh中添加:

export LD_LIBRARY_PATH=/where_your_path/nccl_2.8.4-1+cuda11.2_x86_64/include/:/where_your_path/nccl_2.8.4-1+cuda11.2_x86_64/lib:$LD_LIBRARY_PATH

在deactivate.d/env_vars.sh中添加:

unset LD_LIBRARY_PATH

当你每次激活这个环境,你就可以使用,当你退出里,则去除这个作用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值