git clone https://github.com/NVIDIA/nccl.git 二、编译源码 进入nccl源码目录,编译源码 $cdnccl $ make -j src.build 得到如下结果,说明编译成果啦! 注:编译源码错误解决 编译的时候遇到如下错误 Compiling build/obj/device/gensrc/reduce_sumpostdiv_i8.cu Compiling build/obj/device/gensrc/reduce_sumpost...
NCCL测试依赖于MPI以在多个进程和多个节点上工作。如果你想使用MPI支持编译这些测试,需要将环境变量MPI设置为1,并将MPI_HOME设置为MPI安装的路径。 #克隆该repogit clone https://github.com/NVIDIA/nccl-tests.gitcdnccl-tests# 编译支持mpi的testmakeMPI=1MPI_HOME=/usr/lib/x86_64-linux-gnu/openmpi 成功后...
接下来就是编译nccl_tests,因为要跨机,编译的时候要指定MPI MPI=1MPI_HOME=/path to mpi make 然后就运行吧
main函数位于common.cu662行,在解析命令行参数之前,会先进行NCCL版本的读取。不同的NCCL版本所支持的op、数据类型会略有差异,所以在这里使用条件编译来根据NCCL版本进行一些不同的参数设置,比如test_opnum、test_typenum。 #if NCCL_VERSION_CODE >= NCCL_VERSION(2,4,0)ncclGetVersion(&test_ncclVersion);#elset...
并且可以通过以下代码编译openmpi-x.x.x的examples文件夹并执行其中文件确定mpi在单机上的可用性。 cdopenmpi-x.x.x/examples make mpirun --np2hello_c 多机运行hello_c脚本可以成功运行,但nccl-tests报错 成功运行多机通信测试脚本: mpirun -np 2 -hostfile hostfile -pernode bash -c 'echo "Hello from ...
NCCL-Tests 已经被编译好,并放在了 /nccl-tests/build 目录下,我们只需要进入到该目录,然后执行要测试的文件即可。 需要注意的是 --host cluster_ip1,cluster_ip2,... 需要替换成集群的具体 IP,以,分割。 cd /nccl-tests mpirun --allow-run-as-root \ -mca plm_rsh_args "-p 1998" \ -x NCCL_...