【问题记录】如何在Centos8上把nccl_test集合通信库跑起来?(Message Passing Interface、make MPI=1 MPI_HOME=/usr/lib64/openm)

背景

本文记录了如何在centos8上通过安装openmpi等工具,使用nccl_test仓库运行all_reduce的测试程序的例子,但是最终只解决了各种编译问题没有真正的跑起来,不过过程十分曲折,有些地方值得记录。

nccl-tests 是由 NVIDIA 开发的一个开源测试工具集,用于评估和验证 NCCL(NVIDIA Collective Communications Library)的功能和性能。NCCL 是一个高性能的通信库,专为多 GPU 和多节点环境中的并行计算优化,支持多种集体通信操作,如 All-Reduce、All-Gather、Broadcast、Reduce 等
nccl-tests 提供了多种测试工具,用于不同的集体通信操作,包括:
all_reduce_perf:测试 All-Reduce 操作的性能。
all_gather_perf:测试 All-Gather 操作的性能。
broadcast_perf:测试 Broadcast 操作的性能。
reduce_perf:测试 Reduce 操作的性能。
sendrecv_perf:测试点对点通信的性能。

细节

安装MPI(Message Passing Interface)来支持多进程通信

CentOS 8 上运行 NCCL 测试程序,即使没有 GPU,也可以通过模拟环境进行测试。

sudo yum install -y openmpi openmpi-devel

下载并编译 NCCL-tests

NCCL-tests 是用于测试 NCCL 性能的工具,支持在没有 GPU 的环境中运行

git clone https://github.com/NVIDIA/nccl-tests.git
cd nccl-tests
make MPI=1 MPI_HOME=/usr/lib64/openmpi
# MPI=1 表示启用 MPI 支持。
# MPI_HOME 是 OpenMPI 的安装路径,可能因系统而异,可通过 find / -name mpiexec 查找

解决《nvcc没有》参考后文章节
解决《nccl.h没有》参考后文章节
解决《没有mpi.h》参考后文章节
完成全量编译效果:
在这里插入图片描述

测试

报错:unrecognized argument mca
在这里插入图片描述
查看:
在这里插入图片描述
可能原因是安装了openmpi和mpich多个mpi

再查看bashrc,注释掉mpich的,然后source ~/.bashrc
在这里插入图片描述
还是不行,可能环境变量多个,然后把openmpi的放到最前面,然后source ~/.bashrc

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值