用的valgrind的openmpi(我可以在Ubuntu的发行版与MPI编译?)(openmpi

2019-09-18 05:00发布

我有一个幼稚的问题:我编译版本1.4.4的openmpi的。 用Valgrind的:

./configure --prefix=/opt/openmpi-1.4.4/ --enable-debug --enable-memchecker --with-valgrind=/usr....

我想要做的内存检查。

通常对于debuggin(和运行)我的openmpi编译它在Ubuntu含分布

CC =            mpic++
CCFLAGS =   -g

现在的问题是,我可以编译我的代码只是Ubuntu的发行版MPI 1.4.3,然后用这个运行modified (Valgrind的)的mpirun版本:

mpirun -np 8 valgrind ....

Answer 1:

你总是可以做到mpirun -np 8 valgrind ...位与任何MPI实现任何的valgrind。 但是你不能将(当然)获得内置到的openmpi安装memchecker你启用MEMCHECK和指向你的valgrind内置的全部好处。

还要注意的是,如果你这样做,你可能会得到很多从MPI程序的valgrind误报; 你可以通过建立Valgrind的MPI包装为你的股票的Ubuntu的openmpi,如所描述的改善这种Valgrind的手册 。

但至于编译代码与一个MPI分布和另一运行它,那只能导致问题,无论是整体搭配/无Valgrind的事情。 在实践中,1.4.3的openmpi和1.4.4非常相似,以至于它可能会工作,但我不会推荐它,因为它只是引入了不确定性 - 为什么你的valgrind反正运行的原因是为了追查问题,对? 有一个在这里引入可能发生的问题一个新的地方没有任何意义。



文章来源: openmpi with valgrind (can I compile with MPI in Ubuntu distro?)