首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mpi程序中使用ltrace?

如何在mpi程序中使用ltrace?
EN

Stack Overflow用户
提问于 2014-09-05 04:19:04
回答 1查看 298关注 0票数 2

我想知道如何使用ltrace来获取mpi应用程序的库函数调用,但简单地说,ltrace不工作,我的mpirun无法成功。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-05 07:54:42

您应该能够简单地使用:

代码语言:javascript
复制
$ mpiexec -n 4 -other_mpiexec_options ltrace ./executable

但这将造成一个巨大的混乱,因为来自不同级别的输出将合并。一个更好的选择是将ltrace的输出重定向到每个级别的单独文件。通过一些MPI实现,获得排名是很容易的。例如,Open导出了环境变量OMPI_COMM_WORLD_RANK中的世界排名。以下包装器脚本将有所帮助:

代码语言:javascript
复制
#!/bin/sh

ltrace --output trace.$OMPI_COMM_WORLD_RANK $*

用法:

代码语言:javascript
复制
$ mpiexec -n 4 ... ltrace_wrapper ./executable

这将产生4个跟踪文件,每个级别一个:trace.0trace.1trace.2trace.3

对于MPICH和其他MPI实现,基于它并使用Hydra导出,必须修改PMI_RANK和上面给定的脚本,并将OMPI_COMM_WORLD_RANK替换为PMI_RANK。还可以编写一个通用的包装器,用于MPI实现的两个家族。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25678553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档