如何运行mpi可执行文件,使top显示一个进程

如何运行mpi可执行文件,使top显示一个进程,mpi,Mpi,是否可以使用多个线程运行mpi可执行文件,以便在执行“top”时只看到一个cpu使用率为全部的进程 例如,如果我运行“mpiexec-np4./executable”并执行“top”,我会看到4个进程具有不同的PID,每个进程都使用100%的cpu。我希望看到一个单独的进程使用400%的cpu具有唯一的PID。不,这是不可能的。MPI是专门为单独的进程设计的。它们将不可避免地在顶部显示为单独的过程 现在可能会有一些基于线程而不是进程的深奥的MPI实现,但我高度怀疑这些实现是否符合标准且实际可用

是否可以使用多个线程运行mpi可执行文件,以便在执行“top”时只看到一个cpu使用率为全部的进程


例如,如果我运行“mpiexec-np4./executable”并执行“top”,我会看到4个进程具有不同的PID,每个进程都使用100%的cpu。我希望看到一个单独的进程使用400%的cpu具有唯一的PID。

不,这是不可能的。MPI是专门为单独的进程设计的。它们将不可避免地在顶部显示为单独的过程

现在可能会有一些基于线程而不是进程的深奥的MPI实现,但我高度怀疑这些实现是否符合标准且实际可用

编辑

1-2。处于“每个程序累计”模式(按“p”)的程序可能会执行您想要的操作。 3.通常,如果您杀死
mpiexec
/
mpirun
,它将终止所有列组。否则,请考虑<代码> KyALLU/<代码> < /P>
<> P>我可以看到这是如何方便地对性能进行浅显的观察,但是你应该考虑投资学习更复杂的并行应用程序性能分析工具。

为什么要这样做?可能在一个进程内有4个线程?!祖兰的原因是多方面的:1。有时每个过程的使用率不到100%。如果我能直接看到总的使用量就好了。2.将cpu使用情况与相同代码的openmp版本进行比较。3.能够用一个pid杀死代码。请看我的编辑来解决这个问题。好的,你仍然可以做多线程,对吗?当然你能做到,但我不认为这和这个问题有什么关系。那么它只是MPI服装中的一个线程程序。我明白了。我是从编程的角度来看的。现在我又读了一遍……问题是关于运行一个MPI程序,它可能是多线程的,也可能不是,很酷。