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

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

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
NVIDIA NCCL(NVIDIA Collective Communications Library)是一种用于高性能并行计算的库,特别适用于多GPU系统中的并行通信操作。如果你想学习NCCL源码,我可以给你一些建议: 1. 先了解基本概念:在开始研究NCCL源码之前,确保你对并行计算和通信操作有基本的了解。理解NCCL的设计目标和背后的原理会有助于你更好地理解源码。 2. 寻找源码NCCL源码可以在NVIDIA的开源GitHub存储库中找到。你可以在https://github.com/NVIDIA/nccl 上找到最新的代码。 3. 阅读文档:NVIDIA提供了NCCL的官方文档,其中包含了详细的API文档和使用指南。在阅读源码之前,先浏览一遍文档,了解库的功能和使用方式,这将有助于你更好地理解源码中的细节。 4. 逐步阅读源码:开始时,可以选择从简单的功能开始阅读,逐步深入到更复杂的部分。从整体架构入手,了解主要的数据结构和函数调用关系。然后,选择一个具体的功能或算法,深入研究相关的源代码。 5. 调试和实践:通过在实际应用中使用NCCL库,你可以更好地理解源码。尝试使用NCCL库进行一些简单的通信操作,并通过调试器进行源码跟踪,观察库的行为和内部工作原理。 6. 参考资料和社区支持:除了官方文档和源码,你还可以参考一些相关的学术论文、博客文章和社区讨论,这些资源可以帮助你更好地理解NCCL的设计和实现。 希望这些建议对你学习NCCL源码有所帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值