问题是在大小为20gb的文件中搜索最大长度为10bytes的字符串。文件在一行中包含一个字符串。我正在编写并行编程来执行此操作。我只是将文件划分为约(文件/ P中的字节数)字节的p个进程,并且并行地读取所有进程的这个块。在此之后,我同时搜索了所有进程中的字符串。
所以我只想在所有其他进程中停止搜索,同时我在任何一个进程中获得字符串匹配,以获得并行编程的好处。
我们如何停止执行其他流程?
答案 0 :(得分:1)
不确定它是否是最优雅的方式,但是一旦一个进程找到匹配的字符串,它就可以MPI_Isend()到所有进程,不再需要进行任何工作。
如果有等待的消息,每个进程都会使用MPI_Iprobe()检查一次,如果有:使用MPI_Rccv()接受它,现在该进程可以优雅地终止。