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.gzcd 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/bashshell_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.0echo "*******************This is osu_allgather test**************************" >> $logfile
$(date +%Y-%m-%d-%H%M%S) >> $logfilefor ((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 5done$(date +%Y-%m-%d-%H%M%S) >> $logfile

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697509.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置 IDEA 识别自定义规则的 Dockerfile 文件

目录 配置所在位置解决方案其他 配置所在位置 打开 IntelliJ IDEA&#xff0c;然后转到顶部菜单中的 “File” > “Settings”&#xff08;Windows/Linux&#xff09;或 “IntelliJ IDEA” > “Preferences”&#xff08;macOS&#xff09;。 在弹出的设置窗口中&#x…

LeetCode 125题:验证回文串

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…

VTK 数据类型:vtkUnstructuredGrid

VTK 数据类型&#xff1a;vtkUnstructuredGrid VTK 数据类型&#xff1a;vtkUnstructuredGridVTK 中数据类型的继承关系常用的几何类型实例&#xff1a;vtkHexahedron 和 vtkTetra VTK 数据类型&#xff1a;vtkUnstructuredGrid 非结构化点是在空间中离散随意分布的点&#xf…

【java-数据结构13-双向链表的增删查改1】

在上一篇文章中&#xff0c;我们已将双向链表成功创建&#xff0c;接下来&#xff0c;我们将对链表进行增删查改&#xff0c;敬请期待叭~&#xff08;觉得小编写的还可以的可以可以留个关注~&#xff09; &#xff08;1.遍历链表 思路&#xff1a;定义一个cur&#xff0c;让c…

使用Xshell工具连接ubuntu-方便快捷

使用Xshell连接ubuntu 在命令行输入 “sudo apt-get install openssh-server”安装openssh-server 开启 ssh-server&#xff0c;在命令行输入 “service ssh start”&#xff0c;然后输入密码即可

自动攻丝机进出料激光检测 进料出料失败报警循环手动及关闭报警退出无限循环

/**************进料检测********************/ /***缺料无限次循环 手动退出 超时报警*******/ void check_Pon() // { zstatus0; //报警计数器归零 Signauto1; …

使用ffmpeg将本地摄像头推流至RTSP服务器,支持RTSP和RTMP协议

一、流媒体传输协议&#xff1a;RTSP和RTMP 1、RTSP和RTMP的工作原理 1.1&#xff09;RTSP工作原理 用户设备向视频流平台发送RTSP请求。视频流平台返回可操作的请求列表&#xff0c;如播放、暂停等。用户设备发送具体的请求&#xff0c;如播放。视频流平台解析请求并启动相…

git仓库使用

git仓库是会限制空间大小限制的 git网络库的容量限制_github仓库大小限制-CSDN博客 git是用于管理github的工具 电脑左下角搜索git打开GitBash.exe 进入到要下载到本地的目录 下载到本地的文件不要更改&#xff01; 如果要使用请务必把文件复制到别的空间去再在这个别的空间…

数据库笔记-【视图】

视图 视图通俗是企业想展示给用户看的&#xff0c;数据库存储的数据有很多&#xff0c;但是也有很多是不能对外公开的&#xff0c;做项目的过程就通过视图这个媒介达到这种效果 视图也可以保证数据库表结构字段的隐私安全等 create or replace view stu_v_1 as select id st…

虚拟机有线已连接但无法上网—·可能性之一

背景 VMware虚拟机&#xff0c;搭建了三台Linux服务器&#xff0c;组成Hadoop集群&#xff0c;由于在Hadoop102上有一些经常与Mysql数据库交互的任务&#xff0c;需要经常打开运行&#xff0c;而Hadoop103和104则经常处于关闭状态&#xff0c;一段时间后再次启动集群时候&…

使用Dockerfile配置Springboot应用服务发布Docker镜像-16

创建Docker镜像 springboot-docker模块 这个应用可以随便找一个即可&#xff0c;这里不做详细描述了。 pom.xml 依赖版本可参考 springbootSeries 模块中pom.xml文件中的版本定义 <dependencies><dependency><groupId>com.alibaba.cloud</groupId>…

AI智能体|我把Kimi接入了个人微信

大家好&#xff0c;我是无界生长。 最近加入AI学习交流群的小伙伴越来越多&#xff0c;我打算在微信群接入一个聊天机器人&#xff0c;让它协助管理微信群&#xff0c;同时也帮忙给群友解答一些问题。普通的群聊机器人肯定是不能满足需求的&#xff0c;得上AI大模型&#xff0c…