OpenMPI를 사용하여 루프에서 벗어나는 방법을 알아 내는데 어려움을 겪고 있습니다.OpenMPI가 루프에서 빠져 나오다
는 여기가 0.00의 차이가있을 때 루프에서 모든 프로세서를 중단 할 필요가 있지만,이 breakNow 변수가 모든 프로세서에 방송되지 않을 것 같아 내 루프
for(i=1; i<=steps;i++) {
do_calculation(psi,new_psi,&mydiff,i1,i2,j1,j2);
if (breakNow == 1) {
break;
}
diff = find_difference();
if(myid == mpi_master && i % iout == 0){
printf("%8d %15.5f\n",i,diff);
if (diff == 0.00) {
printf("DONE!");
breakNow = 1;
MPI_Bcast(&breakNow, 1, MPI_INT, mpi_master, MPI_COMM_WORLD);
}
}
}
입니다. 내가 놓친 게 있니?