나는 연습을 위해 여기서하고있는 코드를보고있다.Open MPI의 축소 축소가 동기화됩니까?
http://www.mcs.anl.gov/research/projects/mpi/usingmpi/examples/simplempi/main.html
나는 여기에 표시된 부분에 대한 혼란 스러워요.
MPI::COMM_WORLD.Reduce(&mypi, &pi, 1, MPI::DOUBLE, MPI::SUM, 0);
if (rank == 0)
cout << "pi is approximately " << pi
<< ", Error is " << fabs(pi - PI25DT)
<< endl;
내 질문 MPI를 다른 모든 프로세스 (이 경우 순위 1-3로 프로그램)이 끝나면 알고 그 결과가 완료되었음을 기능을 감소 않습니다입니까?
그래서 모든 통신 호출이 완료 될 때까지 차단됩니까? –
모든 [_collective_ communication calls] (http://www.netlib.org/utk/papers/mpi-book/node91.html#SECTION00500000000000000000) do는 지정된 그룹의 다른 모든 프로세스가 다음 프로세스를 완료 할 때까지 모든 프로세스가 차단됨을 의미합니다. 일치하는 전화를 받았습니다. – suszterpatt
@suszterpatt, 그건 사실입니다. – jman