Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 如何在不关闭程序的情况下结束一个MPI通信器的所有进程?_Fortran_Mpi - Fatal编程技术网

Fortran 如何在不关闭程序的情况下结束一个MPI通信器的所有进程?

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任务。

在fortran中,如何在不关闭程序的情况下仅完成一个通信器(而不是MPI_COMM_WORLD)

我试着做:

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通信器使用相同的处理器