MPI分析程序Integrated Performance Monitoring for HPC(IPM)安装指南

本文主要是介绍MPI分析程序Integrated Performance Monitoring for HPC(IPM)安装指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、依赖环境安装
  • 二、安装Ploticus
  • 三、主程序安装
  • 四、mxml安装
  • 五、使用
    • 1.编译程序
    • 2.生成报告


前言

高性能计算集成性能监控Integrated Performance Monitoring for HPC(IPM) 是专门针对MPI程序设计的通信与性能监测器,该monitor除了可以查看每个函数的运行时间以外,还可以查看每个通信函数的时间,是用于MPI程序调优的开源利器。github上的官方传送门
下图是IPM监测CESM运行过程的结果图
示意图


一、依赖环境安装

对于centos系统,需要准备以下安装包

yum install autoconf
yum install automake
yum install libtool
yum install libpng-devel
yum install libmxml

ubuntu系统按照对应的包修改成apt-get install的版本即可

二、安装Ploticus

这个软件用来画图的,硬核玩家觉得不需要各种统计图可以略过,不然还是建议搞一下
下载

wget https://jaist.dl.sourceforge.net/project/ploticus/ploticus/2.42/ploticus242_src.tar.gz

解压并安装

tar xvf ploticus242_src.tar.gz
cd ploticus242/src
make

将以下语句加入~/.bashrc

export PATH=/path/to/ploticus242/src:$PATH

三、主程序安装

代码如下(示例):

下载并快速安装

git clone https://github.com/nerscadmin/IPM.git IPM-master
cd IPM-master
./bootstrap.sh

接着进行configure操作

./configure –prefix=/path/to/IPM --enable-coll-details --enable-parser

在utils/Makefile里的LIBS中添加 -lmxml 和 -lpthread
如果报错提示无法找到-lmxml,请先安装mxml,安装方法在后面
编译安装

make && make install

接着修改~/.bashrc

export PATH=/path/to/ploticus242/src:/path/to/mxml/bin:/path/to/IPM/bin:$PATH
export LD_LIBRARY_PATH=/path/to/mxml/lib:/path/to/IPM/lib:$LD_LIBRARY_PATH
export MANPATH=/home/cesmtest/CESM/IPM/IPM-master/utils/mxml/include:$MANPATH
export IPM_REPORT=full
export IPM_REPORT_MEM=yes
export IPM_LOG=full
export IPM_KEYFILE=/path/to/IPM/ipm_key_mpi

到此为止就算是安装好了

四、mxml安装

参考这个
https://blog.csdn.net/Travelerwz/article/details/82696673

五、使用

使用IPM需要将IPM编译进程序中

1.编译程序

该方法需要将IPM加入到编译选项中,编译MPI程序的时候在编译选项里加入

mpicc my_code.c -o my_code.x -L/path/to/IPM/lib -lipm -lipmf

其中-lipmf是fortran情况下需要加的

2.生成报告

按原先方式执行程序,当前目录下会生成xml文件,类似:root.1524511933.141544.ipm.xml,执行:

ipm_parse –html root.1524511933.141544.ipm.xml

即可生成报告
报告如下
完整IPM报告

这篇关于MPI分析程序Integrated Performance Monitoring for HPC(IPM)安装指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/249639

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Python列表去重的9种方法终极指南

《Python列表去重的9种方法终极指南》在Python开发中,列表去重是一个常见需求,尤其当需要保留元素原始顺序时,本文为大家详细介绍了Python列表去重的9种方法,感兴趣的小伙伴可以了解下... 目录第一章:python列表去重保持顺序方法概述使用字典去重(Python 3.7+)使用集合辅助遍历性能

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.