OSU micro-benchmarks安装测试指导

news2024/11/23 9:46:10

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


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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣75. 颜色分类

Problem: 75. 颜色分类 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 由于题目只提供0&#xff0c;1&#xff0c;2分别代表颜色红、白、蓝&#xff0c;并按此排序&#xff0c;那么我们可以遍历两次数组&#xff0c;第一次将0&#xff0c;全部放到数组前面一部分…

Rumor Remove Order Strategy on Social Networks

ABSTRACT 谣言被定义为广泛传播且没有可靠来源支持的言论。现代社会&#xff0c;谣言在社交网络上广泛传播。谣言的传播给社会带来了巨大的挑战。 “假新闻”故事可能会激怒您的情绪并改变您的情绪。有些谣言甚至会造成社会恐慌和经济损失。因此&#xff0c;谣言的影响可能是深…

计算机网络5——运输层4TCP拥塞控制

文章目录 一、拥塞控制的一般原理二、举例三、理解四、TCP 的拥塞控制方法1、慢开始和拥塞避免 五、主动队列管理AOM1、背景2、介绍3、实现 一、拥塞控制的一般原理 在计算机网络中的链路容量(即带宽)、交换节点中的缓存和处理机等都是网络的资源。在某段时间&#xff0c;若对…

基于MetaGPT的LLM Agent学习实战(一)

前言 我最近一直在做基于AI Agent 的个人项目&#xff0c; 因为工作加班较多&#xff0c;设计思考时间不足&#xff0c;这里借着Datawhale的开源学习课程《MetaGPT智能体理论与实战》课程&#xff0c;来完善自己的思路&#xff0c;抛砖引玉&#xff0c;和各位开发者一起学习&am…

uniapp编译H5解决ios的border-radius失效问题,以及ios满屏显示不全的问题

1.解决方案 .card-itemA {width: 650rpx;height: 326rpx;box-shadow: 0rpx 0rpx 30rpx 14rpx rgba(236, 235, 236, 0.25);background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);border-radius: 60rpx;overflow: hidden;// 兼容ios的圆角问题transfor…

5.13作业

使用消息队列实现的2个终端之间的互相聊天 并使用信号控制消息队列的读取方式&#xff1a; 当键盘按ctrlc的时候&#xff0c;切换消息读取方式&#xff0c;一般情况为读取指定编号的消息&#xff0c; 按ctrlc之后&#xff0c;指定的编号不读取&#xff0c;读取其他所有编号的…

计算机毕业设计hadoop+spark+hive知识图谱bilibili视频数据分析可视化大屏 视频推荐系统 预测系统 实时计算 离线计算 数据仓库

研究意义 随着互联网的快速发展&#xff0c;人们面临着海量的视频内容&#xff0c;如何从这些繁杂的视频中找到自己感兴趣的内容成为一个重要的问题[1]。推荐系统作为一种解决信息过载问题的重要工具&#xff0c;能够根据用户的历史行为和偏好&#xff0c;预测用户可能感兴趣的…

【错误的集合】力扣python

最初想法 def findErrorNums(nums):n len(nums)duplicate -1missing -1for num in nums:if nums[abs(num) - 1] < 0:duplicate abs(num)else:nums[abs(num) - 1] * -1for i in range(n):if nums[i] > 0:missing i 1breakreturn [duplicate, missing] 遇到力扣大佬…

废品回收小程序,推动回收行业数字化发展

在垃圾分类、资源回收利用的时代背景下&#xff0c;废品回收行业迅速成长&#xff0c;市场规模逐渐扩大&#xff01; 随着“互联网”应用的普及&#xff0c;废品回收行业也进入到了数字化回收领域&#xff0c;各大回收行业开始专注于发展智能回收。此外&#xff0c;线上废品回…

JavaEE技术之SpringCloud(Nacos注册中心、Nacos配置中心、Sentinel实现熔断与限流)

文章目录 SpringCloud Alibaba1、简介1.1 背景1.2 Nacos主要功能1.3 Nacos和SpringBoot、SpringCloud版本选择 2、Nacos注册中心2.1 案例准备2.2 Nacos注册中心下载启动2.2.1 下载2.2.2 解压启动2.2.3 nacos-server访问测试 2.3 nacos注册中心客户端整合2.3.1 订单服务整合naco…

Linux---windows 机器和远端的 Linux 机器如何通过 XShell 传输文件

一、关于rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 Xshell 传输文件. 二、下载rzsz软件 用root输入命令&#xff1a; sudo yum install -y lrzsz下载完成&#xff1a; 三、如何传输 有图形化界面 1、从Windows机器传输给远端Linux机器 ① 直接拖拽 直接将…

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

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

【vue2项目经验总结:a标签干扰路由】

当我们点击页面中的a标签实现跳转时&#xff0c;会发现网页上方的路由也切换成了a标签的id值&#xff1a; 刷新后页面也会变成空白&#xff1a; 解决方法&#xff1a; 添加Click方法&#xff0c;传入的参数与id值保持一致 scrollIntoView() 方法&#xff0c;将该元素滚动到…

嵌入式学习-时钟树

时钟树 时钟分类 时钟树框图 LSI与LSE HSI、HSE与PLL 系统时钟的产生 AHB、APBx的时钟配置 相关寄存器 寄存器部分的细节内容请参考手册。 相关库函数

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

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

Docker 安装 MySQL(Mac电脑M芯片)

Docker 安装 MySQL&#xff08;Mac电脑M芯片&#xff09; 1. 下载MySQL镜像文件2. 创建容器实例2.1 命令参数介绍 3. 容器实例内连接MySQL3.1 进入容器实例后台3.2 连接MySQL 4. DBeaver连接MySQL4.1 连接异常 1. 下载MySQL镜像文件 # 默认下载laster版本 docker pull mysql# …

“圣诞树图案的打印~C语言”

圣诞树图案的打印~C语言 题目原文&#xff1a;[圣诞树](https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2?tpId107&rp1&ru/ta/beginner-programmers&qru/ta/beginner-programmers/question-ranking&difficulty&judgeStatus&tags&…

数仓架构之 基础数据层的数据加载算法

今天想跟大家聊聊&#xff0c;在HIVE数仓分层中&#xff0c;一般分为4层&#xff0c;在前两层中&#xff0c;数据贴源层&#xff08;HDM&#xff09;的数据是怎么加载到基础数据层&#xff08;BDM&#xff09;的。 A&#xff0c;数据加载背景 啥意思呢&#xff0c;我先给大家讲…

将mongo查出的数据导出来,变成json,然后转Excel

在MongoDB shell或使用命令行工具&#xff08;如mongo或mongosh&#xff09;中&#xff0c;你可以将查询结果输出到JSON文件。以下是一个示例命令&#xff0c;它执行上述聚合查询并将结果写入名为output.json的文件&#xff1a; mongo your_database_name --quiet --eval db.u…

李飞飞团队关于2024年人工智能发展报告总结 (Artificial Intelligence Index Report)

目录 1 10大核心信息2 AI研究和发展2.1 核心要点2.2 核心对比信息2.3 模型是否会用尽数据2.4 基础模型发展2.5 训练模型成本 3 技术性能3.1 核心要点3.2 重要模型发布情况3.3 AI表现情况3.4 多学科、高难度评估集 (MMMU & GPQA & ARC)3.5 Agents3.6 RLHF & RLAIF3.…