Использование MPI Scatter - PullRequest
       7

Использование MPI Scatter

1 голос
/ 17 января 2020

Я имею дело с программированием MPI, и я не совсем понимаю, как работает функция MPI_Scatter.

Я вызываю scatter на главном узле, поэтому мне нужно после этого вызывать MPI_Recv на подчиненных узлах?

Так должно ли это выглядеть или я ошибаюсь?

int size;
if (node == MASTER){
    int arr[size * nproc];
    int sub_array[size];
    MPI_Scatter(arr, size, MPI_INT, sub_arr, size, MPI_INT, 0, MPI_COMM_WORLD);
    //do things;
    MPI_Gather(…);
} else {
    int arr[size];
    MPI_Recv(arr, size, MPI_INT, MASTER, 0, MPI_COMM_WORLD);
    //do things;
    MPI_Send(…);
}
...