paddle2.3+centos7.6.5+cuda10.1+nccl2.7.8

查看适配确定cuda版本之后,注册并登录英伟达官网,查找指定cuda版本的NCCL软件

cuda cudnn安装

下载路径:https://developer.nvidia.com/nccl/nccl-legacy-downloads

在这里插入图片描述

  1. https://developer.nvidia.com/compute/machine-learning/nccl/secure/v2.7/prod/nccl-repo-rhel7-2.7.8-ga-cuda10.1-1-1.x86_64.rpm
  2. https://developer.nvidia.com/compute/machine-learning/nccl/secure/v2.7/prod/agnostic/x64/nccl_2.7.8-1+cuda10.1_x86_64.txz 。依赖包,下载好后,需tar -xvf a.txz解压
tar -xvf nccl_2.7.8-1+cuda10.1_x86_64.txz  #包含 lib, include
sudo cp include/* /usr/local/cuda/include
sudo cp -r lib/* /usr/local/cuda/lib64
cd /usr/local/cuda/lib64
sudo rm libnccl.so libnccl.so.2              # 删除原有文件
sudo ln -s libnccl.so.2.7.8 libnccl.so.2  #  创建软连接
sudo ln -s libnccl.so.2 libnccl.so           #  创建软连接
ls # 查看软链接是否创建成功
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64" >> ~/.bashrc

验证

>>> import paddle
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ...
PaddlePaddle works well on 8 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PaddlePaddle 2.3 提供了多GPU的支持,可以通过以下步骤来使用多GPU: 1. 导入必要的库和模块: ```python import paddle import paddle.distributed as dist ``` 2. 初始化并行训练环境: ```python dist.init_parallel_env() ``` 3. 定义模型和优化器: ```python # 定义模型 model = YourModel() # 定义优化器 optimizer = paddle.optimizer.Adam(parameters=model.parameters(), learning_rate=0.001) ``` 4. 将模型和优化器包装在 `paddle.DataParallel` 中: ```python model = paddle.DataParallel(model) ``` 5. 设置数据加载器: ```python # 创建数据加载器 train_loader = paddle.io.DataLoader(dataset, batch_size=batch_size, shuffle=True) # 设置每个进程的数据分片 train_sampler = paddle.io.DistributedBatchSampler(dataset=train_dataset, batch_size=batch_size, shuffle=True) # 创建分布式数据加载器 train_loader = paddle.io.DataLoader(dataset=train_dataset, batch_sampler=train_sampler) ``` 6. 在训练循环中使用多GPU进行训练: ```python for epoch in range(num_epochs): for batch_id, (data, label) in enumerate(train_loader()): # 将数据和标签转移到 GPU 上 data = paddle.to_tensor(data) label = paddle.to_tensor(label) # 前向计算 output = model(data) # 计算损失函数 loss = paddle.nn.functional.loss(output, label) # 反向传播及优化 loss.backward() optimizer.step() optimizer.clear_grad() ``` 这样,你就可以使用多GPU进行训练了。注意,在运行代码之前,确保已经正确设置并行训练环境,并且每个 GPU 上都有足够的显存来容纳模型和数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值