mpi4py中的profiling

本文从本人简书博客同步过来

上一篇中我们介绍了 mpi4py 中初始化和运行时设置,下面我们将介绍 mpi4py 中的 profiling。

API

下面是 mpi4py 中 profiling 相关的函数:

mpi4py.profile(name, **kargs)

MPI profiling 支持。name 是要导入的 profiler 库。其它可设置参数有:path,一系列由字符串表示的路径,用来搜寻所用的 profiler;logfile,profiler 所产生的日志文件前缀。在 mpi4py 中可用的 profiler 库有 MPE (Multi-Processing Environment) 和 VampirTrace。如果要使用 MPE,name 需要设置为 ‘mpe’,此时可以通过参数 logfile 设置生成的日志文件的前缀,或等价地通过环境变量 MPE_LOGFILE_PREFIX 来设置生成的日志文件的前缀。如果使用 VampirTrace,则 name 可以设置为 ‘vt’,‘vt-mpi’ 和 ‘vt-hyb’ 任意一个 profiler,此时可以通过参数 logfile 设置生成的日志文件的前缀,或等价地通过环境变量 VT_FILE_PREFIX 来设置生成的日志文件的前缀。

mpi4py.MPI.Pcontrol(int level)

MPI profiling 控制。level 参数设定 profiling 级别,level = 0 会关闭 profiling 操作,level = 1 使用默认的 profiling 详细等级, level = 2 会刷新 profile 缓冲区(有些 profiler 可能不会执行任何操作)。

MPE 简介

MPE (Multi-Processing Environment) 的主要功能是为用户提供一组性能调试、正确性验证和可视化的工具,包括:

  • 用于创建日志信息的函数,所输出的日志信息供可视化工具进行处理,可视化工具包括 upshot,nupshot,jumpshot 等。
  • 并行的 X-图形库。
  • 用于对并行代码进行串行化控制的函数。
  • 设置 Debugger 的函数。

可利用 MPE 提供的 3 种函数库——跟踪函数库、动画函数库和日志函数库进行应用程序的性能分析。

MPE 的功能非常丰富,但目前 mpi4py 仅支持使用其日志功能,所以这里只介绍日志的使用。

在创建日志文件之前,需考虑设置两个环境变量——MPE_LOG_FORMAT 和 TMPDIR。其中 MPE_LOG_FORMAT 用于定义 MPE 创建日志文件的类型,如果不设置,则默认使用 CLOG 格式。TMPDIR 定义各个进程临时存放日志数据的目录,默认目录为 /temp,为减少开销一般将其设置为当前目录。

CLOG 中包含了带时间标记的事件(events)信息,SLOG 中包含了带时间标记的状态(states)信息。在运行程序后会生成一个 *.clog2 文件,这是 MPE 库所默认使用的日志文件格式。可使用 clog2TOslog2 将该文件转换为 slog2 格式,然后就可以使用 jumpshot 打开该文件进行可视化分析。

安装和使用 MPE

有些版本的 MPICH/MPICH2 中包含 MPE。如果你所使用的 MPI 实现未包含 MPE 软件工具,则可以前往 https://www.mcs.anl.gov/research/projects/perfvis/download/index.htm 下载并使用类似下面的命令进行安装:

$ ./configure MPI_CC=mpicc CC=gcc MPI_F77=mpif77 F77=gfortran --enable-PIC --prefix=/paht/to/mpe2-x.x.x
$ make
$ make install

要在 mpi4py 程序中使用 MPE 生成日志,只需在 import MPI 之前加上类似下面的语句:

import mpi4py
mpi4py.profile('mpe‘, logfile='ring')

日志文件前缀也可以通过环境变量 MPE_LOGFILE_PREFIX 来设置。

加上以上语句后,运行 mpi4py 程序后就会生成 *.clog2 日志文件。

VampirTrace

VampirTrace 是一个可以生成并行应用程序(包括 MPI,OpenMP,Pthreads 等)的详细执行日志的开源软件库。除了以上典型的并行应用程序外,VampirTrace 还可以生成 GPU 加速的应用程序的执行日志。VampirTrace 生成的日志文件为 OTF (Open Trace Format) 格式,该格式的日志文件可以使用 Vampir 工具进行可视化分析。

安装和使用 VampirTrace

VampirTrace 已经包含在 OpenMPI (版本 1.3 及更高)中,因此&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值