OpenMPI测试OSU Micro-Benchmarks

OpenMPI

1.查询是否安装了IB驱动

sudo su
which mpirun
/usr/mpi/gcc/openmpi-4.1.5rc2/bin/mpirun

若无输出检查下述路径

ls /usr/mpi/gcc
openmpi-4.1.5rc2

如果无相关输出,则进行第二步进行安装。若有输出则进行第三步。

2.若未安装驱动则安装IB驱动

在Mellanox官网https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/,选择相应版本的InfiniBand网卡驱动下载,并根据Mellanox提供的操作指导进行安装。

以操作系统CentOS 7.3为例,推荐安装4.2.1版本的安装包,下载安装包“MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64.tgz”,并执行以下命令进行安装:

yum install tk tcl
tar -xvf MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64.tgz
cd MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64/
./mlnxofedinstall

3.配置环境变量

执行以下命令,使用vi编辑“~/.bashrc”文件,添加如下配置内容。注意根据实际路径修改。

export PATH=$PATH:/usr/mpi/gcc/openmpi-4.1.5rc2/bin
export LD_LIBRARY_PATH=/usr/mpi/gcc/openmpi-4.1.5rc2/lib

执行以下命令,导入配置的MPI环境变量。

source ~/.bashrc

执行以下命令,查看MPI环境变量是否正常。

which mpirun

OSU Micro-Benchmarks

简介

OSU MPI Benchmarks 由 Ohio State University 提供的 MPI 通信效率评测工具,分为点对点通信和组通信两种形式,通过执行各种不同模式的 MPI,来测试带宽和延迟。

官网

http://mvapich.cse.ohio-state.edu/benchmarks/

image.png

安装

sudo su 
## 下载地址参考官网部分
wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-7.2.tar.gz
tar zxvf osu-micro-benchmarks-7.2.tar.gz
cd osu-micro-benchmarks-7.2/
CC=mpicc  ./configure
make && make install

测试工具路径

注意如果使用的osu版本不同,测试路径可能不同。宗旨是找到mpi路径。


pt2pt路径下是point to point mpi benchmark测试工具集。测试跨节点网络性能可以用该工具集下的工具。
其他工具的用途参见官网描述:

image.png

示例OpenMPI测试OSU Micro-Benchmarks中osu_latency

  • 两台服务器gpu01和gpu02,先互相做免密登录处理。
  • 按IB驱动自带OpenMPI 和OSU Micro-Benchmarks 安装好OpenMPI和OSU
  • 在其中一台节点上进入/osu-micro-benchmarks-7.2/c/mpi/pt2pt/standard路径下执行下述命令
mpirun -np 2 -host gpu01,gpu02 osu_latency
(base) clouduser@gpu01:~/osu-micro-benchmarks-7.2/c/mpi/pt2pt/standard$ mpirun -np 2 -host gpu01,gpu02 osu_latency
# OSU MPI Latency Test v7.2
# Size          Latency (us)
# Datatype: MPI_CHAR.
1                       1.35
2                       1.34
4                       1.33
8                       1.33
16                      1.33
32                      1.37
64                      1.51
128                     1.52
256                     1.83
512                     1.82
1024                    1.96
2048                    2.94
4096                    3.67
8192                    4.75
16384                   6.97
32768                   8.86
65536                  11.83
131072                 16.76
262144                 26.40
524288                 47.83
1048576                91.27
2097152               177.01
4194304               354.97
(base) clouduser@gpu01:~/osu-micro-benchmarks-7.2/c/mpi/pt2pt/standard$ mpirun -np 2 -host gpu01,gpu02 osu_bw
# OSU MPI Bandwidth Test v7.2
# Size      Bandwidth (MB/s)
# Datatype: MPI_CHAR.
1                       6.28
2                      12.59
4                      25.13
8                      50.44
16                     96.59
32                    200.36
64                    370.86
128                   744.08
256                  1311.42
512                  2341.40
1024                 4033.38
2048                 6511.35
4096                 9128.89
8192                10342.09
16384               11206.11
32768               11561.99
65536               11844.34
131072              11979.87
262144              12059.27
524288              12084.96
1048576             12104.56
2097152             12116.35
4194304             12119.44

指定用IB/TCP运行OpenMPI

# 通过-x UCX_NET_DEVICES指定运行的IB网卡。mlx5_0:1为show_gids中DEV与PORT的组合,不区分RoCE v1和v2
mpirun -np 2 -host gpu01,gpu02 osu_bw -x UCX_NET_DEVICES=mlx5_0:1

# 如果需要指定TCP运行的话,直接指定网卡即可
mpirun -np 2 -host gpu01,gpu02 osu_bw -x UCX_NET_DEVICES=ens121np0

你可能感兴趣的:(OpenMPI测试OSU Micro-Benchmarks)