在我的程序中,我有一个协调员工作程序,它将运行在工作人员的中间,在MPI代码的中间,我需要一个for循环,在一个数组中迭代以获得输入,这个例程应该在这些新的输入上运行在每个工人上。我该怎么做?
假设我有以下代码
int main(int argc, char *argv[])
{
MPI_Init(NULL, NULL);
int pCurrentID, pRightID, pLeftID, tag = 1 , size, value;
MPI_Comm_rank(MPI_COMM_WORLD, &pCurrentID);
MPI_Comm_size(MPI_COMM_WORLD, &size);
for (j=0; j< n;j++) {
a = array[j];
COORDINATOR_WORKER_ROUTINE(a);
}
MPI_Finalize();
return 0;
}
这段代码是半代码,我想并行地向你们展示,我会做很多事情,同时我需要通过for循环来获得一些输入,带有新输入的例程应该由工作人员运行。但我不能完全像这样运行,因为我将有很多重复运行。
我想我必须以某种方式按顺序获得这些输入,但我不知道如何做到这一点。
你有什么建议?