進程0向進程1發送值: 42
進程0向進程2發送值: 42
進程0向進程3發送值: 42
進程0向進程4發送值: 42
進程0向進程5發送值: 42
進程1收到的數據是: 42
進程2收到的數據是: 42
進程3收到的數據是: 42
進程5收到的數據是: 42
進程4收到的數據是: 42
#include <mpi.h>
#include <stdio.h>int main(int argc, char** argv) {int process_Rank, size_Of_Cluster, message_Item;MPI_Init(&argc, &argv);MPI_Comm_size(MPI_COMM_WORLD, &size_Of_Cluster);MPI_Comm_rank(MPI_COMM_WORLD, &process_Rank);if (process_Rank == 0) {message_Item = 42;for (int i = 1; i < size_Of_Cluster; i++) {MPI_Send(&message_Item, 1, MPI_INT, i, 1, MPI_COMM_WORLD);printf("進程0向進程%d發送值: %d\n", i, message_Item);}} else {MPI_Recv(&message_Item, 1, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE);printf("進程%d收到的數據是: %d\n", process_Rank, message_Item);}MPI_Barrier(MPI_COMM_WORLD);MPI_Finalize();return 0;
}
?