Различия между MPI Scatter и MPI Bcast
может кто-нибудь объяснить в чем разница между MPI_Scatter и MPI_Bcast? (Помимо того, что любой процесс может транслироваться с помощью MPI_Scatter и только root может использовать MPI_Bcast)
в каких случаях я должен использовать первый один над другим?
2 ответов
MPI_Bcast() отправляет одну и ту же часть данных всем, в то время как MPI_Scatter() отправляет каждому процессу часть входного массива. MPI_Bcast() напротив MPI_Reduce() и MPI_Scatter() напротив MPI_Gather(). Маленькая схема, как этот не требует пояснений.
и как MPI_Scatter() и MPI_Bcast() аргумент чтобы указать корневой процесс.
MPI_Bcast берет один элемент данных в корневом процессе (Красное поле) и копирует его во все другие процессы. MPI_Scatter принимает массив элементов и распределяет элементы в порядке ранга процесса.
