Fortran 如何在不关闭程序的情况下结束一个MPI通信器的所有进程?
在fortran中,如何在不关闭程序的情况下仅完成一个通信器(而不是MPI_COMM_WORLD) 我试着做:Fortran 如何在不关闭程序的情况下结束一个MPI通信器的所有进程?,fortran,mpi,Fortran,Mpi,在fortran中,如何在不关闭程序的情况下仅完成一个通信器(而不是MPI_COMM_WORLD) 我试着做: call MPI_ABORT(mpiCommGroup, ierror, ierr) 但是程序结束了您可能正在寻找mpi\u comm\u free。这是对通信者的处置,而不是对进程本身的处置。是否确实要停止某些进程?是否要释放通信器?还是要终止该通信器中的所有任务?在后一种情况下,您可能需要研究MPI\u Comm\u spawn(),以启动将在“主程序”完成之前发布的MPI任务。
call MPI_ABORT(mpiCommGroup, ierror, ierr)
但是程序结束了您可能正在寻找
mpi\u comm\u free
。这是对通信者的处置,而不是对进程本身的处置。是否确实要停止某些进程?是否要释放通信器?还是要终止该通信器中的所有任务?在后一种情况下,您可能需要研究MPI\u Comm\u spawn()
,以启动将在“主程序”完成之前发布的MPI任务。Supose我有两个通信程序正在运行:MPI\u WORLD\u Comm(用作主进程)和另一个“X”(用作从进程)。我要完成“X”通讯器和所有流程。但是,我不希望MPI世界通信最终确定。另一个信息:所有MPI通信器使用相同的处理器