MPI Non-blocking Irecv didn't receive data?
问题 I use MPI non-blocking communication(MPI_Irecv, MP_Isend) to monitor the slaves' idle states, the code is like bellow. rank 0: int dest = -1; while( dest <= 0){ int i; for(i=1;i<=slaves_num;i++){ printf("slave %d, now is %d \n",i,idle_node[i]); if (idle_node[i]== 1) { idle_node[i] = 0; dest = i; break; } } if(dest <= 0){ MPI_Irecv(&idle_node[1],1,MPI_INT,1,MSG_IDLE,MPI_COMM_WORLD,&request); MPI_Irecv(&idle_node[2],1,MPI_INT,2,MSG_IDLE,MPI_COMM_WORLD,&request); MPI_Irecv(&idle_node[3],1,MPI