使用OSU micro benchmark做openmpi通讯性能测试

OSU Micro benchmark工具是由Ohio State University提供的MPI(Message Passing Interface,消息传递接口)通信效率评测工具。该工具旨在通过执行不同模式的MPI操作,来测试并度量MPI通信的带宽和延迟等性能参数。官网地址:https://mvapich.cse.ohio-state.edu/benchmarks/

我们来进行安装测试看看这个工具,编译安装前需要已经安装cuda库和openmpi库,openmpi可以查看这个笔记:https://sulao.cn/post/1066

wget https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-7.5-1.tar.gz
tar -zxvf osu-micro-benchmarks-7.5-1.tar.gz
cd osu-micro-benchmarks-7.5-1
./configure --prefix=/usr/local/osu-micro-benchmarks  CC=/usr/local/openmpi/bin/mpicc CXX=/usr/local/openmpi/bin/mpicxx --enable-cuda --with-cuda-include=/usr/local/cuda-12.1/include --with-cuda-libpath=/usr/local/cuda-12.1/lib
make && make install

注意,编译osu benchmark时候除了上述的那些库,还要确保主机安装了GPU驱动,他会读取libcuda.so等库。

编译完成以后进入/usr/local/osu-micro-benchmarks/libexec/osu-micro-benchmarks/mpi/pt2pt目录,可以看到以下这些工具,他们分别功能是

osu_bibw:双向带宽测试
osu_bw:带宽测试(单向)
osu_latency:延迟测试。
osu_latency_mp:多进程延迟测试
osu_latency_mt:多线程延迟测试
osu_mbw_mr:多带宽/消息速率测试
osu_multi_lat:多对串行延迟测试

以下是测试命令示例,包含了IB网卡的设置

/usr/local/openmpi/bin/mpirun -np 8 \
		-H 192.168.1.72:4,192.168.1.73:4 \
		--allow-run-as-root -bind-to socket -map-by slot \
		-x NCCL_DEBUG=INFO \
		-x NCCL_ALGO=Ring \
		-x NCCL_MAX_NCHANNELS=16 \
		-x NCCL_MIN_NCHANNELS=16 \
		-x NCCL_IB_HCA=mlx5_0,mlx5_2 \
		-x NCCL_IB_GID_INDEX=3 \
		-x NCCL_IB_DISABLE=0 \
		-x NCCL_IB_RETRY_CNT=7 \
		-x NCCL_IB_TIMEOUT=23 \
		-x NCCL_SOCKET_IFNAME=eth0 \
		-x NCCL_NET_GDR_LEVEL=2 \
		-x NCCL_IB_QPS_PER_CONNECTION=4 \
		-x NCCL_IB_TC=160 \
		-x LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH \
		-x PATH=$PATH \
		-mca coll_hcoll_enable 0 \
		-mca pml ob1 \
		-mca btl_tcp_if_include eth0 \
		-mca btl ^openib \
		-npernode 4 \
		/usr/local/osu-micro-benchmarks/libexec/osu-micro-benchmarks/mpi/pt2pt/osu_mbw_mr D D

202506251629375826351931.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.sulao.cn/post/1067

评论列表