问题是在大小为20 in的文件中搜索最大长度为10字节的字符串。文件在一行中包含一个字符串。我正在编写并行编程来做这件事。我只是将文件分成大约(文件中的字节数/ P)字节的p个进程,并由所有进程并行读取这个大小的块。在此之后,我同时在所有进程中搜索了一个字符串。
所以当我在任何一个进程中得到字符串匹配时,我只想停止在所有其他进程中的搜索,以获得并行编程的好处。
我们如何停止其他进程的执行?
发布于 2012-01-21 18:18:44
不确定这是否是最优雅的方式,但是一旦一个进程找到了匹配的字符串,它就可以MPI_Isend()到所有进程,不再需要做更多的工作。
每个进程都会时不时地使用MPI_Iprobe()检查是否有消息在等待,如果有:使用MPI_Rccv()接受它,进程现在可以优雅地自行终止。
https://stackoverflow.com/questions/8951737
复制相似问题