我有一个使用OpenMPI并在Windows和Linux上启动它的应用程序。但是,Windows版本工作正常,但是,在Linux上运行会导致内存分配错误。这个问题发生在某些应用参数上,这需要更多的计算。为了消除内存泄漏,我使用Val差尔检查了Linux应用程序,并获得了一些。毕竟,我试图搜索有关输出的信息,并在堆栈溢出和GitHub(没有足够的声誉附加链接)上找到一些帖子。毕竟,我将openMPI更新为2.0.2,并再次检查应用程序。新.是OpenMPI中的内存泄漏还是我做错了什么?
一项产出:
==16210== 4 bytes in 1 blocks are definitely lost
假设我有10个过程,如:
process p0 with PID 1.
process p1 with PID 2.
process p2 with PID 3.
process p3 with PID 4.
process p4 with PID 5.
process p5 with PID 6.
process p6 with PID 7.
process p7 with PID 8.
process p8 with PID 9.
process p9 with PID 10.
当我终止一个进程时,例如:
kill 7
进程p6被成功杀死,进程p5和p7之间为空,当我将p10作为进程运行时