5 int main(int argc, char *argv[]) {
8 int *sendbuf, *recvbuf;
9 MPI_Init(&argc, &argv);
10 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
11 MPI_Comm_size(MPI_COMM_WORLD, &size);
12 sendbuf = malloc(sizeof(int) * size);
13 recvbuf = malloc(sizeof(int) * size);
14 for (i = 0; i < size; i++) {
18 sendbuf[rank] = rank + 1;
19 MPI_Reduce(sendbuf, recvbuf, size, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);
21 printf("nodes: ", rank);
22 for (i = 0; i < size; i++) {
23 printf("%d ", recvbuf[i]);