您可以注意到代码在MPI_COMM_WORLD中实例化,但正在函数send_code中使用!
我的代码是:
int send_code(char *code)
{
//produce the codes for adding the code into the table
printf("%s\n",code);
MPI_Send(code, 8, MPI_CHAR,0, 0,MPI_COMM_WORLD);
}
int main(int argc, char *argv[])
{
MPI_Status status;
int outbuf, inbuf;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if (rank==0)
{
MPI_Recv(code, 8, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &status);
printf("%s by master\n",code);
}
else
{
........
}
MPI_Finalize();
}
答案 0 :(得分:3)
如果您询问MPI中的MPI_COMM_WORLD
,它将在mpi.h
中声明,并在其中一个MPI实现的库中定义。
答案 1 :(得分:0)
静态全局变量?如果这对您来说足够安全并且您已准备好承担风险; - )