OpenMPI
1.查詢是否安裝了IB驅(qū)動
sudo su
which mpirun
/usr/mpi/gcc/openmpi-4.1.5rc2/bin/mpirun
若無輸出檢查下述路徑
ls /usr/mpi/gcc
openmpi-4.1.5rc2
如果無相關(guān)輸出续滋,則進(jìn)行第二步進(jìn)行安裝箱蝠。若有輸出則進(jìn)行第三步碟摆。
2.若未安裝驅(qū)動則安裝IB驅(qū)動
在Mellanox官網(wǎng)https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/孕荠,選擇相應(yīng)版本的InfiniBand網(wǎng)卡驅(qū)動下載预厌,并根據(jù)Mellanox提供的操作指導(dǎo)進(jìn)行安裝阿迈。
以操作系統(tǒng)CentOS 7.3為例,推薦安裝4.2.1版本的安裝包轧叽,下載安裝包“MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64.tgz”苗沧,并執(zhí)行以下命令進(jìn)行安裝:
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.配置環(huán)境變量
執(zhí)行以下命令,使用vi編輯“~/.bashrc”文件炭晒,添加如下配置內(nèi)容待逞。注意根據(jù)實(shí)際路徑修改。
export PATH=$PATH:/usr/mpi/gcc/openmpi-4.1.5rc2/bin
export LD_LIBRARY_PATH=/usr/mpi/gcc/openmpi-4.1.5rc2/lib
執(zhí)行以下命令网严,導(dǎo)入配置的MPI環(huán)境變量识樱。
source ~/.bashrc
執(zhí)行以下命令,查看MPI環(huán)境變量是否正常震束。
which mpirun
OSU Micro-Benchmarks
簡介
OSU MPI Benchmarks 由 Ohio State University 提供的 MPI 通信效率評測工具,分為點(diǎn)對點(diǎn)通信和組通信兩種形式垢村,通過執(zhí)行各種不同模式的 MPI割疾,來測試帶寬和延遲嘉栓。
官網(wǎng)
http://mvapich.cse.ohio-state.edu/benchmarks/
安裝
sudo su
## 下載地址參考官網(wǎng)部分
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測試工具集。測試跨節(jié)點(diǎn)網(wǎng)絡(luò)性能可以用該工具集下的工具胚宦。
其他工具的用途參見官網(wǎng)描述:
示例OpenMPI測試OSU Micro-Benchmarks中osu_latency
- 兩臺服務(wù)器gpu01和gpu02,先互相做免密登錄處理枢劝。
- 按IB驅(qū)動自帶OpenMPI 和OSU Micro-Benchmarks 安裝好OpenMPI和OSU
- 在其中一臺節(jié)點(diǎn)上進(jìn)入/osu-micro-benchmarks-7.2/c/mpi/pt2pt/standard路徑下執(zhí)行下述命令
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運(yùn)行OpenMPI
# 通過-x UCX_NET_DEVICES指定運(yùn)行的IB網(wǎng)卡您旁。mlx5_0:1為show_gids中DEV與PORT的組合轴捎,不區(qū)分RoCE v1和v2
mpirun -np 2 -host gpu01,gpu02 osu_bw -x UCX_NET_DEVICES=mlx5_0:1
# 如果需要指定TCP運(yùn)行的話侦副,直接指定網(wǎng)卡即可
mpirun -np 2 -host gpu01,gpu02 osu_bw -x UCX_NET_DEVICES=ens121np0