性能分析工具Score-P安装、使用记录
Score-P使用标准的 MPI 性能分析接口 PMPI 来完成插桩。要启用它,应用程序必须链接到 Score-P MPI(或混合)测量库以及 MPI 特定库。请注意,Score-P 库必须在 MPI 库之前链接,以确保插桩生效。
使用手册:
Score-P: Application Instrumentation (fz-juelich.de)
安装过程
需要的依赖
yum install binutils-dev
也可通过源码安装binutils-dev。
安装binutils-dev
从Index of /gnu/binutils下载binutils-2.42.tar.gz。
注意安装时要指定–enable-shared生成动态库文件,因为scorep安装需要动态库。
若没有makeinfo,设置MAKEINFO=true
tar -zxvf binutils-2.42.tar.gz
cd binutils-2.42
./configure --prefix=$HOME/cx/binutils --enable-shared && make MAKEINFO=true && make install MAKEINFO=true
安装Score-P
从VI-HPS :: Projects :: Score-P下载软件包并解压。
tar -zxvf scorep-8.4.tar.gz
若存在多个MPI版本,需要使用--with-mpi
选项指定其中某一个:
--with-mpi=bullxmpi|hp|ibmpoe|intel|intel2|intel3|intelpoe|lam|mpibull2|mpich|mpich2|mpich3|mpich4|openmpi|openmpi3|platform|scali|sgimpt|sgimptwrapper|spectrum|su
因此最终的安装命令如下所示:
cd scorep-8.4
mkdir _build
cd _build
../configure --prefix=/your/path --enable-static --disable-shared --with-nocross-compiler-suite=gcc -with-mpi=mpich3 --with-libbfd=/your/binutils/path
make && make install
scorep加入PATH
# vim ~/.bashrc
SCOREP_ROOT=$HOME/scorep
PATH=$PATH:${SCOREP_ROOT}/bin
source $PATH
OSU基准测试集插桩并运行
- configure过程相同,增加
--disable-dependency-tracking
选项
../configure --prefix=$HOME/osu-7.3-instrument --disable-dependency-tracking CC=mpicc CXX=mpicxx
- make和make install时,在编译器前增加
scorep
make CC="scorep mpicc" CXX="scorep mpicxx" && make install CC="scorep mpicc" CXX="scorep mpicxx"
3.运行程序,运行结束之后会生成一个.cubex文件。
运行结果分析
可以通过在windows上安装[cube软件](Cube 4.x download (scalasca.org))来图形化展示性能分析结果。
结果展示分为三个方面:指标、调用栈和进程/节点。
能够获取的特征:通信操作类型、通信操作的顺序、参与的进程数(每个节点)、消息大小(总的以及每个进程的)、通信成本(总通信成本以及各进程通信成本)。
特征 | 说明 |
---|---|
通信操作类型 | 各进程执行的通信操作类型 |
进程数 | 各个节点参与某通信操作的进程数 |
消息大小 | 发送、接受的总消息大小以及每个进程收发消息大小 |
通信时间 | 所有进程在某个操作上花费的总的通信时间,以及某个进程的通信时间 |