终止mpi进程

终止mpi进程,mpi,parallel-processing,Mpi,Parallel Processing,我想知道是否有一种方法可以让一个MPI进程向另一个MPI进程发送终止信号 或者不同的是,当某个进程仍然处于活动状态时,是否有一种方法可以优雅地退出MPI环境?(即mpi_abort()打印错误消息) 谢谢否,这在使用MPI库的MPI应用程序中是不可能的 单个进程将不知道其他进程的位置,也不知道其他进程的进程ID,而且MPI规范中没有任何内容可以实现您想要的杀戮 如果要手动执行此操作,则需要MPI_Alltoall在整个系统中交换进程ID和主机名,然后需要生成ssh/rsh,以便在想要杀死某些东西

我想知道是否有一种方法可以让一个MPI进程向另一个MPI进程发送终止信号

或者不同的是,当某个进程仍然处于活动状态时,是否有一种方法可以优雅地退出MPI环境?(即mpi_abort()打印错误消息)


谢谢

否,这在使用MPI库的MPI应用程序中是不可能的

单个进程将不知道其他进程的位置,也不知道其他进程的进程ID,而且MPI规范中没有任何内容可以实现您想要的杀戮

如果要手动执行此操作,则需要MPI_Alltoall在整个系统中交换进程ID和主机名,然后需要生成ssh/rsh,以便在想要杀死某些东西时访问所需的节点。总之,它不便于携带,也不干净

MPI_Abort是实现您想要实现的目标的正确方法。从Open MPI手册:

“此例程“尽最大努力”中止通信组中的所有任务。”(即,MPI_abort(MPI_comm_WORLD,-1)是您所需要的

MPI_中止期间的任何输出都是特定于机器的,因此您可能会收到,也可能不会收到您提到的错误消息。

请参见此处:。