어떻게 제어가 MPI_Send()에서 MPI_Recv()로 곧바로 건너 뛸 때 다른 점에서 MPI_Send()에서 점프합니다. 의사 결정과 관련된 조건으로 단일 코드 블록 만 실행해야합니다.MPI의 실행 흐름
int main(int argc, char *argv[]) {
int number = 54;
MPI_Init(&argc, &argv);
MPI_Comm_size (MPI_COMM_WORLD, &no_of_process);
MPI_Comm_rank (MPI_COMM_WORLD, &process_rank);
MPI_Status status;
if (process_rank == 0) {
MPI_Send (&number, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
}
else if (process_rank == 1) {
MPI_Recv (&number, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
}
}
글쎄, 간단히 말해서 그것은 하나의 스레드에서 두 블록을 실행하지 않아야하지만, 여러 프로세스 나 스레드가 관련된 경우와 비슷할 수 있습니다. 무슨 뜻인지 예를 들려 주시겠습니까? –
코드를 보지 않고도이 질문에 대답하는 것은 매우 어렵습니다. 첫 번째 어려움은 질문을 올바르게 이해하는 데 있습니다. –
@HighPerformanceMark 간단한 코드로 내 질문을 편집했습니다. 요청한 내용을 이해하는 데 도움이되기를 바랍니다. – droidlabour