gpt4 book ai didi

mpi - 如何在 MPI 代码上从 gprof 获得有意义的结果?

转载 作者:行者123 更新时间:2023-12-04 02:53:59 26 4
gpt4 key购买 nike

我正在优化 MPI 代码并且正在使用 Gprof。
问题是我得到的结果完全不合理。我的工作流程如下:

  • 编译代码添加-pg作为编译标志。
  • 运行代码 mpirun -np Nproc EXEC.exe arg1 ... argN .
  • 在可执行文件上运行 gprof gprof EXEC.exe

  • 这有什么问题?

    最佳答案

    运行说明gprof通常假设程序是串行的,或单进程但多线程的。

    运行 gprof使用像 MPI 程序这样的多进程程序,你会想要

  • 确保每个进程输出自己的文件
  • 跨进程显式汇总文件
  • 运行 gprof在结果上。

  • This blog postthese instructions at LLNL是很好的起点:
  • 设置记录不佳的 GMON_OUT_PREFIX环境变量,例如在 bash 中,export GMON_OUT_PREFIX=gmon.out-在运行 mpiexec 命令之前(然后,根据环境,您可能必须运行 mpirun -x GMON_OUT_PREFIX -np Nproc EXEC.exe arg1 ... argN 以确保每个进程都有环境变量)
  • 使用 gprof 本身对结果进行收集和求和,gprof -s EXEC.exe gmon.out-*
  • gprof EXEC.exe gmon.sum (或者只检查单个文件,或一起检查文件,使用 gprof EXEC.exe gmon.out-12345gprof EXEC.exe gmon.out-* )
  • 关于mpi - 如何在 MPI 代码上从 gprof 获得有意义的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794093/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com