我正在编写代码,我需要初始化变量并依次且仅一次执行一系列任务。之后,我目前正在使用pthreading运行并行进程,然后返回顺序代码对数据进行排序并执行二进制搜索。并行进程只是同时从多个(大约35个)套接字读取大量数据。我被要求使用MPI实现相同的设置,而我目前的理解是,如果我使用MPI,则每个进程都将执行整个程序,并且并行处理并不局限于MPI_Init_thread和MPI_Finalize所在的行。我的理解正确吗?还是有一种方法可以在使用MPI的同时在并行代码之前和之后执行顺序代码?
答案 0 :(得分:3)
如果要执行顺序代码,可以执行
if (myrank == 0){
//code
}
并且主线程(id = 0)将仅执行代码,因此您在该位置将不会出现并行处理。