gpt4 book ai didi

使用 MPI 支持编译 Valgrind

转载 作者:行者123 更新时间:2023-12-04 05:11:57 25 4
gpt4 key购买 nike

我正在尝试安装 Valgrind全力支持 MPI在 Linux 下。根据 Valgrind documentation .我应该用 MPI 编译已经安装,但根据 MPICHOpenMPI文档,我应该用 Valgrind 编译已经安装。这很令人困惑,所以我应该先安装哪个?

最佳答案

这里没有循环依赖。相反,您面临着将 Valgrind 客户端请求放置在不同位置的两种不同方法。

可以使用 OMPI 特定的 Valgrind 支持来构建 Open MPI。这与构建具有 MPI 支持的 Memchecker 不同,因为它还允许检查 OMPI 内部(这就是为什么它还要求您在 OMPI 中启用调试)。 Memchecker 客户端请求以非常 OMPI 特定的方式成为库代码的一部分。这不需要更改 Valgrind 代码,即它应该适用于任何 Valgrind 安装(假设满足最低版本要求)

另一方面,Open MPI 以及任何其他 MPI 实现提供了 PMPI分析界面。 Memchecker 可以使用它来提供通用 MPI 支持。如文档中所述,Memchecker 构建了一个函数库,用于替换(并包装)原始 MPI 调用(这就是 PMPI 机制的工作方式 - 所有 MPI_* 调用都是弱符号,可以被其他符号覆盖同名,真正的 MPI 调用实际上是 PMPI_*MPI_* 被定义为 ELF 系统上的弱别名)。这不需要更改 MPI 库代码。它应该适用于任何 MPI 实现,但只有用户内存才能被正确调试,即可能在 MPI 库代码中检测到误报(尽管那些不一定是误报,可能意味着库本身有问题)。

MPICH 中的 Valgrind 支持也是如此。

关于使用 MPI 支持编译 Valgrind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14824242/

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