OSU micro-benchmarks安装测试指导

OSU micro-benchmarks安装测试指导

OSU micro-benchmarks工具介绍

OSU Micro benchmark工具是由Ohio State University提供的MPI(Message Passing Interface,消息传递接口)通信效率评测工具。该工具旨在通过执行不同模式的MPI操作,来测试并度量MPI通信的带宽和延迟等性能参数。
具体来说,OSU Micro benchmark工具分为点对点通信和组通信两种形式。点对点通信模式主要用于测试两个节点之间的通信性能,而组通信模式则用于测试多个节点之间的协作和通信效率。通过OSU Micro benchmark工具的测试结果,用户可以获取关于MPI通信性能的详细数据,包括消息传递的速率、延迟、吞吐量等。这些数据可以帮助用户了解MPI通信在不同条件下的性能特点,从而进行性能优化和决策。
OSU Micro benchmark工具只是一个测试工具,它并不能直接解决MPI通信中的性能问题。在发现性能瓶颈或问题时,用户还需要结合具体的应用场景和代码实现,进行深入的分析和优化。
综上所述,OSU Micro benchmark工具是一个功能强大的MPI通信效率评测工具,它可以帮助用户全面了解和评估MPI通信的性能特点,为性能优化和决策提供有力的支持。

软件安装步骤

组件下载
Intel MPIIntel 2023
OSU micro-benchmarkshttps://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-7.3.tar.gz
OSCentOS7.9
GCC4.8.5
  • 加载MPI环境
  • 上传OSU的源码包“osu-micro-benchmarks-7.3.tar.gz”
  • 步骤 3 创建OSU的安装目录
 -mkdir /path/to/osu
  • 步骤 4 解压OSU源码包,并进入解压后的目录
  tar zxvf  osu-micro-benchmarks-7.3.tar.gz
  cd osu-micro-benchmarks-7.3
  • 步骤 5 执行以下命令进行编译配置
 ./configure CC=mpiicc CXX=mpiicpc --prefix=/path/to/osu
  • 步骤 6 执行以下命令进行编译安装
make -j 
make -j install
  • 步骤 7 检查是否生成可执行文件
安装成功后,会在/path/to/osu/libexec/osu-micro-benchmarks目录下的pt2pt、one-side、collective等子目录下生成osu_xxx的可执行文件

在这里插入图片描述

使用软件测试网络通信

  • 点对点测试
程序说明
osu_latency延迟测试,以乒乓方式(ping-pong fashion)进行,发送者发送一条具有特定数据大小的消息给接收者,并等待接收者的回复。接收者从发送者那里接收消息,并发送一条具有相同数据大小的回复消息。
osu_bw带宽测试(单向),发送者向接收者发送固定数量(等于窗口大小)的背靠背消息,然后等待接收者的回复。接收者只有在收到所有这些消息后才发送回复
osu_bibw双向带宽测试,双向带宽测试与带宽测试类似,不同之处在于涉及的两个节点都会发送固定数量的背靠背消息并等待回复

- 聚合通信测试

程序说明
osu_allgatherMPI_Allgather集合通信操作的时延测试
osu_allreduceMPI_Allreduce集合通信操作的时延测试
osu_alltoallMPI_Alltoall集合通信操作的时延测试
osu_barrierMPI_Barrier集合通信操作的时延测试
osu_bcastMPI_Bcast集合通信操作的时延测试
osu_gatherMPI_Gather集合通信操作的时延测试
osu_reduceMPI_Reduce集合通信操作的时延测试
osu_scatterMPI_Scatter集合通信操作的时延测试

- 自动化测试脚本

#!/bin/bash

shell_path="/share/opt/osu/libexec/osu-micro-benchmarks/mpi/collective"      #脚本存放路径
host_path=$(pwd)															#待测节点
process_list="$host_path/processlist"								#进程数
nodes=$host76/nodelist                  #nodelist填写IB网络IP
readarray -t pro_list < $processlist     #读取进程数文件至数组当中
count=${#pro_list[@]}						#获取数组长度
logfile=$current_path/log/$count"nodes-osu_allgather-"$(date +%Y-%m-%d-%H%M%S)".log"       #设置日志格式
size=65536																				#控制size大小

source /share/opt/modules_x86_64/init/profile.sh          #使用module加载MPI通信库变量
module use /share/opt/moduledeps/
module load intel/2023.2.0

echo "*******************This is osu_allgather test**************************" >> $logfile
$(date +%Y-%m-%d-%H%M%S) >> $logfile



for ((i=0; i<$count; i++))
do 

cd $host_path
echo "*******************ppn=${pro_list[$i]}*********************************" >> $logfile
mpirun -ppn ${pro_list[$i]}  -hostfile $nodes $shell_path/osu_allgather -m $size >> $logfile    #osu_allgather替换成待测试项
sleep 5

done

$(date +%Y-%m-%d-%H%M%S) >> $logfile


----结束
希望对您有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

保持成长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值